我調用SaveChangesAsync時出現異常。 我的架構是非常簡單的,我有一個範疇類,至極包含EF 7:INSERT語句與FOREIGN KEY SAME TABLE衝突
public class Category {
public Guid ID {get; set;}
public Guid? ParentId {get; set;}
public Category Parent {get; set;}
[...]
}
當我想插入數據庫中的新類別(連接到我的ASP MVC應用程序),我在做插入之前設置的GUID。 當我的數據庫爲空並且我想要插入父類別(因此使用空的Guid IdParent和空父母)時發生錯誤。如果我設置父值,這不會發生。我可以通過將Visual Studio設置爲Null來手動添加記錄。
我有以下錯誤:
INSERT語句衝突與外鍵相同的表 約束「FK_Category_Category_ParentId」。衝突發生在 數據庫「HT_Root」,表「dbo.Category」,列'ID'。陳述 已被終止。
我在棧溢出搜索一個簡單的答案,並沒有找到它。 我使用Fluent API來運行:
modelBuilder.Entity<Category>().HasOne(s => s.Parent).WithMany().HasForeignKey(s => s.ParentId);
但是沒有什麼變化。我究竟做錯了什麼 ?
你試過'HasOptional'而不是'HasOne'嗎? –
@SergeyKolodiy我在EF 7流利API中沒有任何HasOptional ...? – cdie
你可以在數據庫中手動插入行嗎,就像使用SSMS一樣?這聽起來像你的數據庫表沒有正確設置。 – CodingGorilla