2015-11-01 130 views
0

我試圖創建一個到多個關係,其中TypeOfImmobile可以有一個Immobile或更多。 這裏是我的模型類:Insert語句與外鍵約束衝突。實體框架錯誤

INSERT語句衝突與外鍵約束「FK_dbo.Immobiles_dbo.TypeOfImmobiles_TypeOfImmobilesId」:當我創建一個不動

public class TypeOfImmobile 
{ 
    public int Id { get; set; } 
    [Display(Name = "Type Of Immobile")] 
    public string Designation { get; set; } 

    public ICollection<Immobile> Immobiles { get; set; } 
} 

public class Immobile 
{ 
    public int Id { get; set; } 
    public int TypeOfImmobileId { get; set; } 
    public virtual TypeOfImmobile TypeOfImmobile { get; set; } 
} 

時發生錯誤。衝突發生在數據庫「aspnet-ARQSI-IT2-2015103105205​​6」,表「dbo.TypeOfImmobiles」,列'Id'中。 該聲明已被終止。

+0

確切的錯誤是什麼? –

+0

'公共虛擬ICollection Immobiles {get;組; }'也許你錯過了'虛擬' –

+0

我試過虛擬它不起作用:/ – sergiogomesdev

回答

0

看起來,當您創建Immobile時,您可能未設置TypeOfImmobileId屬性的有效值,即現有的TypeOfImmobileId

0

這導致由以下原因之一:

1-你不設置導航屬性(TypeOfImmobile)或TypeOfImmobileId

2-- TypeOfImmobileId或TypeOfImmobile的值在數據庫是不存在的

3 - 也許您要保存不動節約TypeOfImmobile

0

之前,您需要通過[ForeignKey("Your_FK_ImmobileId")]在新物業編號設置FK Your_FK_ImmobileId

相關問題