我有一個從「BaseEntity」派生的「投資」實體。實體框架4:爲什麼我無法獲得派生實體的ObjectSet而不是ObjectQuery?
隨着_container.BaseEntities.OfType<Investment>()
我得到的總是查詢數據庫中的ObjectQuery。
因此我寧願有一個ObjectSet<Investment>
。
我不明白爲什麼EF不支持此派生實體...還是沒有呢? ;)
如果我會繼續在EF(這將是愚蠢的),創建與所有我的派生實體關聯的「根實體」,我會通過該根的導航屬性獲得EntityCollections實體-實體。但是,必須有另一種方式......
乾杯
我明白了!但是對於非繼承實體,像你一樣的簡單對象讓你添加對象並將它們保存在內存中。如果您使用_container.BaseEntities.AddObject(投資)添加「投資」並且您做了_container.BaseEntities.OfType().ToList,則添加的「投資」不在該列表中,因爲它尚未保存到數據庫中。因此,如果我可以有一個ObjectSet 會更容易! –
SolarX
2011-04-19 13:26:18
@SolarX:對不起,我誤解了你的問題的背景。 '_container.BaseEntities.ToList()'會返回已添加但尚未保存的投資實體嗎?無論如何,你應該把這個問題編輯成你的問題,這使問題背後的原因更清晰,也許有人知道一個解決方法。 – Slauma 2011-04-19 15:08:15
不用擔心:)今天的EF JUT讓我有點前衛;)非常感謝您的協助! – SolarX 2011-04-19 15:28:29