2013-01-04 63 views
2

我擁有了一切工作正常與建立和工作的自動遷移。我剛剛在我的域類中做了一些外鍵更改,當我啓動我的應用程序時,我收到了一個非法列「CreatedOn」異常。瀏覽我發現這個錯誤通常是由於從ef 4移動到ef 5並返回。我一直使用ef 5.我找不到任何錯誤原因,所以我決定回到基礎。我關閉了遷移並將我的初始化程序設置爲「DropAndCraeteAlways」。它放棄了數據庫,但沒有創建一個新的。所以我進一步回到基礎,並完全刪除遷移,並將initilizer設置爲「CreateIfNoneExists」。仍然沒有創建數據庫。對於還有哪些嘗試或如何調試,我感到不知所措。我得到的唯一例外是當我嘗試初始化數據庫我得到一個數據庫沒有找到這是顯而易見的。任何幫助將不勝感激。EF 5.0代碼先退出創建數據庫

+0

更多的數據。我發現當使用「DropCreateDatabaseIfModelChanges」時,EF首先刪除數據庫,然後當它發現模型更改時,它會嘗試創建一個新的數據庫。但是,如果在創建數據庫時遇到問題,以避免某些編碼錯誤,則不會創建數據庫。這使得EF處於某種限制狀態,即使在模型更改之後,也不允許它創建數據庫,這可能會導致創建問題被刪除。 – user1626137

+0

更多 - 反正是有復位EF覺得什麼也沒有創建,以便它可以重新開始創建一個新的數據庫?回到默認的「CreateDatabaseIfNoneExists」不能在這種限制狀態下工作。 – user1626137

+0

我有同樣的問題。我之前和之後多次使用代碼,在新項目中,無論我嘗試什麼,EF都不會創建表。奇怪的。 –

回答

0

實體框架能有點脾氣暴躁,如果它不能找出如何解決關係 - 你有錯誤的更多細節?請記住,您看到的最終錯誤可能是由於鏈條早期出現故障造成的。

您可能能夠通過在包管理器控制檯運行更新-database命令看多。

可能是值得看Fluent Relationship API,它是寫了4.1,但我相信這是一樣的。

相關問題