2016-11-24 50 views
1

が、私は2つのテーブルを持っている 一つのテーブルがメインメニューです外部キー制約エラー4

public int Id { get; set; } 
public string Name { get; set; } 
public Nullable<int> SortOrder { get; set; } 
public virtual ICollection<SpclWebSiteLink> SpclWebSiteLinks { get;set;} 
public virtual ICollection<SubMenu> SubMenus { get; set; } 

と他のテーブルがforgeinているキー

public partial class LevelOneMenu 
{ 
    public int ID { get; set; } 
    public string Name { get; set; } 
    public Nullable<int> SubMenuId { get; set; } 
    public virtual SubMenu SubMenu { get; set; } 
    public virtual ICollection<LevelTwoMenu> LevelTwoMenus { get; set; } 
} 

第3テーブルには、レベル1メニューのforgeinキーがあります。

public partial class LevelTwoMenu 
{ 
    public LevelTwoMenu() 
    { 
     this.ProductMenus = new HashSet<ProductMenu>(); 
    } 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public string Image { get; set; } 
    public string Url { get; set; } 
    public Nullable<int> LevelOneId { get; set; }  
    public virtual LevelOneMenu LevelOneMenu { get; set; } 
    public virtual ICollection<ProductMenu> ProductMenus { get; set; } 
} 

メインMから削除したときレベル2のテーブルのforgienキーとして使用されるlevelOneテーブルのIDとlevelOneテーブルのIDをメインメニューのforgienキーに使用していたため、forgeinキーに制約があります。私は主な製品と他の関連行を削除する列にnull値を割り当てるが、私はこのシナリオを理解することができませんしたいです。 ありがとうございます

+0

どのORMフレームワークを使用していますか?それはEntity Framework 6なのでしょうか? – Vinod

+0

下記の内容を確認してください。 –

答えて

0

エンティティフレームワークを使用している場合、EDMXを削除して再度追加する必要があります。それは、その後EDMXを削除する必要が働かないそうでなければ、再びEDMXを削除し、再度追加する必要がある場合EDMXはEDMXを更新するための手順の下にしてみてください削除する前に

-> Right Click on EDMX 
-> Select Click Open 
-> Right Click On Page 
-> Select Update Model From Database EDMX 
-> Save your changes 

これがお手伝いします!