2011-05-02 73 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