我需要使用'DropCreateDatabaseIfModelChanges' - 初始化類,因爲我想創建一個特殊的實體(表),如果它不存在。我的問題是,我的DbContext中還有另一個實體,它不應該是模型兼容性檢查的一部分。實體框架4.1禁用模型兼容性檢查
我收到以下錯誤信息:
Model compatibility cannot be checked because the EdmMetadata type was not inclu
ded in the model. Ensure that IncludeMetadataConvention has been added to the Db
ModelBuilder conventions.
是否有可能排除從該檢查一個特殊的實體?
編輯: 我已經完成了Devart的建議。這個問題似乎不同於我第一次嘗試。如果我讓EF用我的CheckedContext創建一個新的數據庫,這一切都可以正常工作。但我發現了上述錯誤信息,當我嘗試使用我的NonCheckedContext至極應該利用現有的表...
EDIT2: This是一個可行的解決方案。一切正常,當數據庫不存在之前。但是,對我來說,放棄/創建數據庫是不行的。
這是行不通的。我無法創建一個從DbContext派生的包裝類,而不包含任何DbSet <>。這樣做會導致執行基類(DbContext)的構造函數時發生異常。我可以創建兩個獨立的DbContext類,但這不可能是解決方案。 – 0xbadf00d 2011-05-23 09:42:39
我很抱歉,那不是問題所在。我已更新了我的初始帖子。 – 0xbadf00d 2011-05-23 10:05:52