2010-05-15 39 views
2

我知道同樣的問題被要求實體框架1,但現在實體框架4已經出來了,微軟聲稱它提供了Linq的所有功能到Sql + Entity Framework現在是否支持延遲加載昂貴的屬性?在Linq to Sql中,這非常簡單。任何屬性(可通過Designer訪問)上都有一個Delay Loaded選項,可以簡單地打開或關閉。實體框架中是否有類似的東西?實體框架4 - 延遲加載昂貴的字段

感謝

+0

這是一個非常重要的問題!您在此期間是否在其他地方找到答案? – Slauma 2010-06-13 17:42:17

+0

不幸的是,沒有。我希望這個功能隱藏在某個地方,但我一直無法找到任何參考。我希望這並不意味着它不存在。 – 2010-06-14 04:44:59

+0

我只是遭受同樣的問題,迫切尋找解決方案。我已經在MS論壇上問過,請參閱下面的答案。 (答案類似於「Yo」或「Nes」。) – Slauma 2010-06-15 12:58:25

回答

1

我問的問題here在MS EF論壇。正如你看到他們提供了一個鏈接到Table splitting in Entity Framework的描述。

基本上這個想法是將一個數據庫表拆分爲多個實體,這些實體通過1:1關係相關聯,然後從相關實體之間通常的延遲加載功能中受益。

在我看來,並不像LINQ to SQL中的延遲加載標誌那樣舒服,但至少有一個解決方案不需要觸摸數據庫表。

編輯:最後MS支持在上面鏈接的線程中回答說像LINQ to SQL中的「延遲加載標誌」肯定不存在於實體框架中。

-1
+1

您發送的示例是用於延遲加載相關實體的示例。我正在尋找一種方法來延遲加載同一實體中的某些屬性。 Linq2Sql非常簡單,但我一直無法找到在Entity Framework中實現的方法。我見過的博客文章建議我將昂貴的字段分隔到一個單獨的表中,這樣,延遲加載將是可行的,但必須更改數據庫模式才能支持實體框架聽起來不正確。 – 2010-05-18 22:38:56

0

我試過表分割方法。奇蹟般有效。只需創建一個僅有一個關鍵字段和一個blob字段的第二個表格,與原始圖片表格建立一對一的關係。從圖像表中刪除de blob字段。

更新模型並創建圖像類和blob類之間的關聯。

當你actualy需要BLOB字段不要忘記「包括」 BLOB表是這樣的:

from a in dc.GeneralFile.include("Image").select(a => a.FileId, a.Image.Blob) 

希望工程爲你。

P.S.試圖添加圖片,但不允許