2011-03-01 59 views
3

我想用現有的表測試實體框架CTP 5 Code First。實體框架CTP5模型兼容性無法檢查,因爲數據庫不包含模型元數據

  1. 我定義了模型類和DbContext並運行應用程序。它創建了數據庫和表格。
  2. 我從數據庫中刪除了EdmMetadata表。
  3. 在我的連接字符串中添加了Trusted_Connection=true;Persist Security Info=True
  4. 當我再次運行應用程序時,它給了我這個錯誤。

 
System.NotSupportedException was unhandled by user code
Message=Model compatibility cannot be checked because the database does not contain model metadata.
Source=EntityFramework

我怎樣才能讓沒有EdmMetadata表此應用程序運行?

回答

6

如果你不想使用EdmMetadata表嘗試添加到您的DbContext派生類中的:

protected override void OnModelCreating(ModelBuilder modelBuilder) 
{ 
    modelBuilder.Conventions.Remove<IncludeMetadataConvention>(); 
} 
+1

我加入這個方法,跑我得到這個錯誤的問題。 '[NotSupportedException:由於EdmMetadata類型未包含在模型中,因此無法檢查模型兼容性。確保IncludeMetadataConvention已添加到模型構建器約定中。] '我放棄並運行了它未創建的應用程序Edmmetadata表 – sfgroups 2011-03-03 03:38:13

+1

它僅在db刪除並重新創建時纔有效! – TheVillageIdiot 2011-12-25 15:25:33

相關問題