亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

僅限實體框架代碼錯誤:自創建數據庫以來,支持上下文的模型已更改

僅限實體框架代碼錯誤:自創建數據庫以來,支持上下文的模型已更改

侃侃無極 2019-12-26 10:49:17
我使用實體框架4和CTP4創建了一個“僅代碼” POCO以用于現有數據庫。運行查詢時出現錯誤自創建數據庫以來,支持“ xyzContext”上下文的模型已更改。手動刪除/更新數據庫,或使用IDatabaseInitializer實例調用Database.SetInitializer。例如,RecreateDatabaseIfModelChanges策略將自動刪除并重新創建數據庫,并選擇添加新數據作為種子。我不清楚為什么會發生這種情況或我可以更改什么。我只是創建了POCO,定義了一個簡單的DbContext,進行了一些調整,然后嘗試運行一個簡單的查詢。由于我使用的是“僅代碼”,因此我不知道需要進行的任何配置設置。而且我當然不想重新創建或刪除數據庫,因為它是現有數據庫。感謝您的任何想法。
查看完整描述

3 回答

?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

這是CTP4中的一個錯誤,用于將EF與現有數據庫一起使用。


您可以通過以下方式解決此問題:


Database.SetInitializer<YourContext>(null);

在Global.asax的Application_Start方法中


查看完整回答
反對 回復 2019-12-26
?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

我在上面發表了評論,并且在我剛剛熟悉EF5來熟悉它的工作原理時它就起作用了?,F在,我正在編寫“實際”代碼,由于我已經決定使用MEF實例化任何DbContext并將所有配置依賴項注入為可組合部分,因此我不再在代碼中為每個上下文設置數據庫初始化程序。


因此,我再次立即遇到上述錯誤,但是這次我選擇使用如下配置文件條目來解決它。


<entityFramework>

    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">

      <parameters>

        <parameter value="v11.0" />

      </parameters>

    </defaultConnectionFactory>

    <contexts>

      <context type="Basd.Erp.ContactContext, Basd.Erp" disableDatabaseInitialization="true"></context>

    </contexts>

  </entityFramework>

因此,通過在EntityFramework的配置文件部分中設置disableDatabaseInitialization =“ true”,您可以克服上述錯誤,并且由于它不在代碼中,因此好處之一是能夠“更輕松地”使用抽象的構建器/工廠創建上下文。


查看完整回答
反對 回復 2019-12-26
  • 3 回答
  • 0 關注
  • 678 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號