2

假设我有以下生成的实体框架 POCO 类:

public partial class Foo
{
    #region Primitive Properties

    public virtual long Id { get; set; }

    #endregion
}

我将其子类化:

public class SubclassedFoo : Foo
{
    public override long Id
    {
        get { return base.Id; }
        set { base.Id = value; }
    }
}

ObjectContext 如何检索SubclassedFoo对象而不是Foo对象?

例如,我可以用什么来代替这个?

ObservableCollection<Foo> foos = context.Foos

如:

ObservableCollection<SubclassedFoo> subclassedFoos = context.???
4

1 回答 1

1

过滤OfType<SubclassedFoo>

List<SubclassedFoo> subclassedFoos = context.Foos
    .OfType<SubclassedFoo>()
    .ToList();

或者如果你真的想要一个ObservableCollection

ObservableCollection<SubclassedFoo> subclassedFoos =
    new ObservableCollection<SubclassedFoo>(context.Foos
        .OfType<SubclassedFoo>()
        .AsEnumerable());
于 2012-07-21T18:30:09.857 回答