2015-09-11 101 views
0

我知道這個問題已經被問到,但它接縫,我的情況可能會略有不同。我試過「運行自定義工具」,但這裏是奇怪的事情發生的地方:因爲我有2個相關的數據庫(所以2個相關的模型)。如果我在一個模型上運行自定義工具,則會將另一個模型運行,反之亦然(不完整的.cs文件,缺失等)。有沒有人有我想要錯的地方?EntityFramework Schema指定無效

編輯:

完整的錯誤:

An exception of type 'System.Data.Entity.Core.MetadataException' occurred in EntityFramework.dll but was not handled in user code

Additional information: Schema specified is not valid. Errors:

The relationship 'ProductionMasterDataEntityModel.FK_ProductGroup_CostPeriods' was not loaded because the type 'ProductionMasterDataEntityModel.ProductGroup' is not available.

The following information may be useful in resolving the previous error:

The required property 'CstAveOrderQty' does not exist on the type 'SISCOM.Persistance.Models.ProductGroup'.

自定義工具是:TextTemplatingFileGenerator

我不知道,如果它有什麼用asp.net框架,但它是一個asp.net項目,所以我認爲這是值得一提的。

+0

什麼是工具?什麼是錯誤?它如何與ASP.NET相關? – dotctor

+0

eddited the question – Spluf

回答

0

它接縫,我有2個問題造成該錯誤..首先,有一些存儲過程和意見,我得到了這種方式後(刪除我的模型,再次創建它們,我沒有選中選項包括存儲過程,我只將表添加到模型,沒有意見和沒有存儲過程)我可以訪問一些數據,但不是所有的數據。第二個問題是,我忘了添加一個連接到依賴數據庫。

所以在我的倉庫的方法是這樣的:

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 ..我沒得它明確地採取必要的表格後,我加入它找到了所有它需要通過連接本身。

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

0

從edmx中刪除模型,並再次添加它應該整理出來。請注意,除非使用源代碼控制工具,否則無法恢復。

+0

cr * p ...我不小心編輯了你的答案,而不是寫評論,srry ...就像我說的..甚至不能跟蹤依賴關係,因爲他們真的從我的模型中丟失,即使在我重建... – Spluf

+0

沒關係,我寧願在這個場景中做的是從edmx中刪除模型,並再次添加它,關閉大部分的變化問題。請注意,除非您使用適當的源代碼管理工具,否則無法恢復。添加後進行驗證。 –

0

在我的情況下,這個問題出現在我更新.edmx文件後。刪除它上面的所有表並重新更新它。右鍵單擊.tt文件(例如Entity.tt)文件 - >運行自定義工具。然後我的問題解決了。

0

我解決這個案例如下。

實體在類lib項目中,我試圖在其他項目中使用。 因此,在該項目中,我在新項目中添加了參考文獻「EntityFramework.SqlServer.dll」