第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Entity Framework 4中默認(rèn)禁用延遲加載

在Entity Framework 4中默認(rèn)禁用延遲加載

似乎在EF4中默認(rèn)啟用了延遲加載。至少在我的項目中,我可以看到dataContext.ContextOptions.LazyLoadingEnabled默認(rèn)情況下為true。我不想延遲加載,也不想寫:dataContext.ContextOptions.LazyLoadingEnabled = false;每次獲得新的環(huán)境時。那么有沒有辦法默認(rèn)關(guān)閉整個項目?
查看完整描述

3 回答

?
倚天杖

TA貢獻(xiàn)1828條經(jīng)驗 獲得超3個贊

以下答案涉及“ 數(shù)據(jù)庫優(yōu)先”或“ 模型優(yōu)先”工作流(當(dāng)提出問題時,只有兩個工作流可用于Entity Framework(版本<= 4.0))。如果您使用的是Code-First工作流程(自EF版本> = 4.1起可用),請向史密斯(ssmith)回答此問題,以獲取正確的解決方案。


edmx文件在<ConceptualModel>和<EntityContainer>定義中具有延遲加載的屬性,您可以在其中將延遲加載通常設(shè)置為false:


<EntityContainer Name="MyEntitiesContext" annotation:LazyLoadingEnabled="false">

這將在ObjectContext構(gòu)造函數(shù)中創(chuàng)建以下設(shè)置:


public MyEntitiesContext() : base("name=MyEntitiesContext", "MyEntitiesContext")

{

    this.ContextOptions.LazyLoadingEnabled = false;

    OnContextCreated();

}

我的示例并不意味著應(yīng)該手動編輯生成的ObjectContext(或DbContext在新的EF版本中)(如ctorx指出的那樣,數(shù)據(jù)庫中的每個模型更新都將其覆蓋),而是EDMX文件部分中的EntityContainer元素edmx:ConceptualModels應(yīng)該通過添加annotation:LazyLoadingEnabled="false"屬性來進(jìn)行編輯-在XML編輯器中手動創(chuàng)建,或者在設(shè)計器界面的屬性頁面上(也可以使用此選項)進(jìn)行手動編輯,右鍵單擊EDMX,然后單擊“屬性”。

http://img1.sycdn.imooc.com//5da95c330001d76c03490397.jpg

EDMX文件的此修改將自動在生成器中使用禁用的延遲加載選項生成上下文類,如上所示。從數(shù)據(jù)庫更新模型時,EDMX文件修改本身不會被覆蓋。


查看完整回答
反對 回復(fù) 2019-10-18
?
慕姐4208626

TA貢獻(xiàn)1852條經(jīng)驗 獲得超7個贊

我寫了一個快速示例,展示了新的延遲加載功能如何與EF Code First一起使用。在“代碼優(yōu)先”模型中實現(xiàn)所需的內(nèi)容只需在DbContext的構(gòu)造函數(shù)中添加一行即可,如下所示:


public BlogContext()

{

    this.Configuration.LazyLoadingEnabled = false;

}


查看完整回答
反對 回復(fù) 2019-10-18
?
慕尼黑的夜晚無繁華

TA貢獻(xiàn)1864條經(jīng)驗 獲得超6個贊

如果您使用的是EF4 Code First,是嗎?因此,在上下文的初始化中,將覆蓋“ OnModelCreated”。


在這種方法中,我只需調(diào)用并設(shè)置屬性即可解決所有問題。


protected override void OnModelCreating(DbModelBuilder modelBuilder) {

     base.Configuration.LazyLoadingEnabled = false;

}

我的模型現(xiàn)在更可口了。延遲加載很棒...但是當(dāng)您不想要它時則不然。當(dāng)您開始使用循環(huán)引用時,這很荒謬。


查看完整回答
反對 回復(fù) 2019-10-18
  • 3 回答
  • 0 關(guān)注
  • 762 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號