2017-05-30 27 views
0

自從我上次使用Breeze以來,已經有一段時間了,所以我開始回到關於新項目開始的事情的擺動。當我在現在的問題是我創建了一個有兩個項目的Visual Studio 2015的解決方案:微風 - 自創建數據庫以來,不斷接收模型支持上下文已更改

  1. 一個類庫有我的實體框架代碼優先類
  2. 包含我的實體框架類庫的DataModel項目DbContext

我能夠在我的DataModel項目上啓用遷移,並且能夠更新數據庫並獲得我的數據庫以及我的_MigrationHistory表,並且一切都很好。

然後我添加了第三個項目到我的解決方案,這是一個空白的MVC項目。然後我通過Nuget Breeze.Server.WebApi2,Breeze.Server.ContextProvider.EF6添加了它,這似乎也添加了Breeze.Server.ContextProvider軟件包。

我現在處於麻煩運行是,當我嘗試測試我的微風控制器和檢索,我得到了元數據如下:


「System.InvalidOperationException」類型發生在EntityFramework.dll的例外但未在用戶代碼中處理

附加信息:自創建數據庫以來,支持「AccountingContext」上下文的模型已更改。考慮使用Code First Migrations來更新數據庫(http://go.microsoft.com/fwlink/?LinkId=238269)。


乍一看似乎是一個實體框架問題。但是我的數據庫實際上是最新的。我可以回到我的SQL Server並刪除它,然後運行update-database,它會重新創建它,我可以將WinForm的應用程序添加到項目中,並且可以在該項目中使用上下文。

但是,當試圖使用微風控制器我遇到這個問題。

繼我在網上找到的另一個建議,我可以去SQL Server並從數據庫中刪除_MigrationHistory表,然後微風很高興,並會返回MetaData,但如果我這樣做,我搞砸了我所有的實體框架遷移然後必須從我的DataModel項目中刪除migrations文件夾,然後刪除數據庫並重新啓用遷移並保存遷移並更新我的數據庫以重新創建它。

我會說,當我第一次嘗試創建我的MVC項目時,我試圖運行它visual studio抱怨System.Web.Http和System.Web.Http.OData和Newton.Json版本不是正確,所以我不得不刪除引用,並刪除我的項目bin文件夾中的Dll,然後用Nuget讀取它們,現在似乎正在工作的正確工作,現在執行此實體框架相關的錯誤。

我見過一些人提出這個問題可能是一個問題,我的連接字符串不正確的看着不同的數據庫,但似乎並非如此,否則刪除_MigrationHistory表不會解決問題。

任何人可以提供幫助,將不勝感激。

回答

相關問題