使用代码第一种方法关联表数据

时间:2017-08-16 10:07:38

标签: asp.net-mvc-5 ef-code-first entity-framework-6

如何关联以下场景中的数据: 忍者 - > NinjaItem - > ITEMLIST 那么NinjaItem表将包含属于Ninja的项目的数据? ItemList表只应包含item-name和id。

我有以下将Ninja与NinjaItem联系起来,但我无法弄清楚如何将NinjaItem与ItemList联系起来。

public class Ninja
{
    public int ID { get; set; }
    public string Name { get; set; }
    public virtual List<NinjaItem> NinjaItem { get; set; }
}
public class NinjaItem
{
    public int ID { get; set; }
    public int NinjaID { get; set; }
    public int ItemListID { get; set; }
    public virtual List<ItemList> ItemList{ get; set; }
}
public class ItemList
{
    public int Id { get; set; }
    public string Name { get; set; }      
}

1 个答案:

答案 0 :(得分:0)

将解决方案从问题转移到答案:

  

<强>解:   我只需要两个类Ninja和ItemList,Entity Framework创建第三个表项链接到ninjas。

public class Ninja
{
    public Ninja ()
    {
        this.ItemLists = new HashSet<ItemList>();
    }
    public int NinjaId { get; set; }
    public string Name { get; set; }
    public virtual ICollection<ItemList> ItemLists { get; set; }
}

public class ItemList
{
    public ItemList ()
    {
        this.Ninjas = new HashSet<Ninja>();
    }
    public int ItemListId { get; set; }
    public string ItemName { get; set; }
    public virtual ICollection<Ninja> Ninjas { get; set; }

}