说我有以下生成的Entity Framework 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.???

最佳答案

OfType<SubclassedFoo>过滤:

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


或者,如果您真的想要ObservableCollection

ObservableCollection<SubclassedFoo> subclassedFoos =
    new ObservableCollection<SubclassedFoo>(context.Foos
        .OfType<SubclassedFoo>()
        .AsEnumerable());

关于c# - 如何查询上下文,以便创建子类POCO实体?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11594732/

10-10 16:24