2011-05-02 72 views
0

我有实体A.实体B继承实体A.对于实体B,由实体框架生成的属性用于访问它的内容。如何访问实体B?我是否必须提供自己的方法,还是可以强制EF来创建它们?具有继承权限的接入实体框架实体

我做的是: 乙inhirits一个 context.A - 到实体A

访问,但context.B不存在。不会为访问实体B生成方法。

回答

2

当您在context.A上运行查询时,它将从整个继承层次结构中返回实体。所以context.A.ToList()的结果将是所有的As和Bs。如果你只想查询派生类型,你可以使用context.A.OfType<B>().ToList()

+0

请告诉我使用OfType是不好的做法?这种反射的用法对性能不好? – Ryan 2011-05-02 14:34:27

+1

它不使用反射,它是绝对正确的方法。 – 2011-05-02 14:41:55