问题描述
||
我在我的数据上下文中覆盖了SaveChanges方法,并具有以下代码:
IEnumerable<BaseEntity> newEntries = ObjectStateManager.GetobjectStateEntries(EntityState.Added).OfType<BaseEntity>();
在我的模型中,所有业务对象均源自BaseEntity。当我在我的数据上下文中添加新的\'Investment \'(也来自BaseEntity!)时,上面的代码将不会在结果集中显示此实体。
但是,GetobjectStateEntries(EntityState.Added)
返回一个类型为Investment
的实体。
为什么OfType<>
不能识别对象是否派生?
解决方法
那是因为此查询返回类型为“ 4”的对象,并且该对象的实例具有属性“ 5”,该属性保存您的实体对象。
尝试这个:
var IEnumerable<BaseEntity> newEntries = ObjectStateManager
.GetObjectStateEntries(EntityState.Added)
.Select(e => e.Entity)
.OfType<BaseEntity>();