如何在Entity Framework中指定外键列表?

时间:2017-02-13 15:43:14

标签: c# asp.net sql-server entity-framework ef-fluent-api

如何指定数据注释或fluentapi,我的模型中的字符串列表,如外键列表?我知道我可以在列表中指定用户模型,但我想要一个字符串列表。

模型示例:

public class Allocation
{
      [Key]
      public int Id { get; set; }
      ...
      public List<string> Users { get; set; }
}

public class User
{
     [Key]
     public string Id { get; set; }
     ...
}

1 个答案:

答案 0 :(得分:3)

即使是专家开发人员 FAIL MISERABLY ,当谈到实体框架时,我也会告诉你一个小秘密。 编写您希望拥有的代码

直接针对您的方案,您不必要地使事情变得复杂。让实体框架为您完成工作并为您处理关系!

所有你需要建立这种关系的模型是......

public class Allocation
{
    public int Id { get; set; }
    public virtual ICollection<User> Users { get; set; }
}

public class User
{
    public int Id { get; set; }
    public virtual Allocation Allocation { get; set; }
}

现在请注意我没有写我希望的代码,但那是因为我希望我拥有的代码对于这个问题来说是过度的,而且非常高级。如果你想深入研究这个主题并找出实体框架真正能为你做什么,我会从这里开始......

https://lostechies.com/jimmybogard/2010/02/04/strengthening-your-domain-a-primer/