我在實體框架代碼優先項目,該項目具有部署SQL Server上絕對沒問題相當複雜的數據模型的工作2008年的SQL Server CE標識與實體框架代碼首先循環引用,但SQL Server 2008不
然而,當創建一些地方的終端到終端的測試,我得到了以下錯誤消息的SQL Server CE數據庫時,EF創建數據庫:
System.Data.SqlServerCe.SqlCeException: The referential relationship will result in a cyclical reference that is not allowed. [ Constraint name = FK_Sites_Persons_PersonId ].
我在我的DataContext模型創建方法禁用ManyToManyCascadeDeleteConvention
,所以這不是th的原因問題。我遇到的麻煩是在SQL Server 2008數據庫中,有問題的關係看起來很好 - 它似乎是一個普通的外鍵,我可以看出,我看不到任何東西在另一個方向上回流,雖然它不是不可能有一個更長路徑的循環引用。我不知道爲什麼CE會失敗,2008年會成功。
將您的FK定義爲可空。按照慣例,實體框架爲不可空的外鍵啓用級聯刪除。 – VahidN