使用一个简单的例子:
我有一个 Car 类,子类 Mazda 。
马自达有一个属性: MazdaWarrentyDate
使用我的Db Context,我去了:
var collection = db.user.cars;
然后,我使用:var c in collection
我使用条件来检查实例的类型是否是马自达,然后将其转换为马自达。 但 MazdaWarrentyDate为空!
经过调试,我在投射之前查看了POCO,实际上这个属性不存在,即使它将其识别为马自达类型。
这是实体框架中的限制吗?如果是这样,我该如何解决这个问题?谢谢!
答案 0 :(得分:1)
var collection = db.user.cars.Where(t=> t is Mazda).OfType<Mazda>();
foreach (var car in collection ){
//TODO
}
答案 1 :(得分:0)
关联对象为空的原因是因为我从查询开始 用户 - &gt;汽车等 为了解决这个问题,我简单地开始查询汽车,例如:
db.cars.where(c => c.user.id == myUserId);
这样做导致相关的poco被延迟加载,这可以在一个循环中迭代。