簡體   English   中英

指定的實體框架架構無效

[英]EntityFramework Schema specified is not valid

我知道已經有人問過這個問題,但我的情況似乎略有不同。 我嘗試了“運行自定義工具”,但這里發生了奇怪的事情:因為我有 2 個相關的數據庫(所以有 2 個相關的模型)。 如果我在一個模型上運行自定義工具,它會搞砸另一個模型,反之亦然(不完整的 .cs 文件、丟失等)。 有沒有人知道我哪里出錯了?

編輯:

完整的錯誤:

EntityFramework.dll 中發生類型為“System.Data.Entity.Core.MetadataException”的異常,但未在用戶代碼中處理

附加信息:指定的架構無效。 錯誤:

關系“ProductionMasterDataEntityModel.FK_ProductGroup_CostPeriods”未加載,因為類型“ProductionMasterDataEntityModel.ProductGroup”不可用。

以下信息可能有助於解決之前的錯誤:

類型“SISCOM.Persistance.Models.ProductGroup”上不存在所需的屬性“CstAveOrderQty”。

自定義工具是:TextTemplatingFileGenerator

我不確定它是否與 asp.net 框架有關,但它是一個 asp.net 項目,所以我認為值得一提。

就我而言,此問題是在我更新.edmx文件之后出現的。 刪除所有表並重新更新。右鍵單擊.tt文件(例如Entity.tt)文件->運行自定義工具。 然后我的問題解決了。

將模型從edmx中刪除,然后再次添加,應進行分類。 請注意,除非使用源代碼控制工具,否則無法還原。

似乎有兩個問題導致了該錯誤。.首先,有一些存儲過程和視圖,在我將它們弄亂后(刪除了模型,再次創建了它們,並且我未選中包含存儲的選項)過程,而我只將表添加到模型中,沒有視圖,也沒有存儲過程)。我可以訪問一些數據,但不能訪問所有數據。.第二個問題是我忘記了添加到依賴數據庫的連接。

因此,我的存儲庫中的方法如下所示:

public myType GetSomething()
{
 var db = new model();
 var dependencyDb = new dependencyModel();
 //do whatever needs to be done with the data before presenting it
 return something;
}

PS ..添加連接后,它無需自行將其​​顯式添加到所需的表中,因此它可以自行找到所需的所有內容。

希望這可以幫助任何有此問題的人。

我像下面這樣解決這種情況。

類lib項目中的實體,而我嘗試在其他項目中使用。 因此,在該項目中,我在新項目中添加了引用“ EntityFramework.SqlServer.dll”

指定的架構無效。 錯誤:MyModel.ssdl(2,2):錯誤 0152:未找到具有不變名稱“System.Data.SqlClient”的 ADO.NET 提供程序的實體框架提供程序。 確保提供程序已在應用程序配置文件的“entityFramework”部分注冊。 有關詳細信息,請參閱http://go.microsoft.com/fwlink/?LinkId=260882

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM