【发布时间】:2012-07-21 18:17:08
【问题描述】:
假设我有以下生成的实体框架 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.???
【问题讨论】:
-
与您的问题无关,但实体框架并不总是能很好地处理被覆盖的属性。如果您遇到问题(即使您现在没有问题),您可以将
Id更改为调用虚拟getId()和setId()方法的非虚拟属性,并且仅在派生类。
标签: c# entity-framework poco