我有一個名爲PropertyValues的表的數據庫,其中我存儲每個值,我需要描述我的數據庫錶行的一些屬性。實體框架和Linq實體和.Include()幾個表,或者
例如,它看起來像這樣Products表:
ID
的OrderID //產品表與Order表相關
產品名稱
ProductType_ID // ID描述產品類型(食品,香水,化學品)的PropertyValues表
ProductCountry_ID PropertyValues表// ID可鏈接到產品來自 ProductStatusID國家//也ID PropertyValues表,其中包含產品狀態(菱,不菱)
與這樣的數據庫模型,以獲得訂單和所有它的產品與他們的類型,國家和狀態我得寫這樣的事:
var orders = from o in dbEntities.Order.Include("Products.ProductType")
.Include("Products.ProductCountry")
.Include("Products.ProductStatus")
select o;
和問題是:)
它可以自動完成(所有相關的實體將被包括在內)
或者也許有更好的方法?
謝謝!
只是要清楚'懶惰'或延期加載,是不一樣的急於加載。嚴格來說,要求的是什麼,但是我認爲你強調延遲加載是正確的,因爲它可能是真正需要的。急切的加載只做一個查詢。如果延遲加載提供了相關對象加載到一個查詢中的錯覺,那麼實際上它們不是。當相關對象被訪問時,EF靜靜地發出額外的查詢。 – 2009-05-28 16:23:44