实体框架6代码优先的多维导航属性

时间:2014-05-12 19:09:04

标签: c# .net entity-framework

我想弄清楚这样的事情是否可行:

假设我有一个运动队的以下模型:

人(身份证,姓名,角色)

角色(人,头衔)ex:所有者,玩家,教练,......一个人可以有多个角色(例如玩家可以是所有者)

现在假设我要创建一个像这样的团队模型:

public class Team {
    public string Name {get; set; }
    public virtual Dictionary<Role, List<Person>> TeamMemebers {get; set; }
}

vs做这样的事情:

    public class Team {
    public string Name {get; set; }
    public virtual  List<Person>> Players {get; set; }
    public virtual  List<Person>> Owners {get; set; }
    public virtual  List<Person>> Coaches {get; set; }
    ...
}

我想弄清楚这是否可行?

由于

1 个答案:

答案 0 :(得分:0)

如果您只需要选择此属性,那么我将为模型创建一个部分类(如第二个代码段),另一个用于自定义方法和属性。

我会添加

[System.ComponentModel.DataAnnotations.Schema.NotMapped] 
Dictionary<Role, List<Person>> TeamMemebers 
{
   get
   {
       // return select mapped to dictionary
   }
}