实体框架代码第一个HashSet不生成迁移代码

时间:2017-04-04 12:20:24

标签: c# entity-framework ef-code-first ef-migrations

  • ASP.NET 4.61,EF 6.1.3
  • SQL Server 2012

我有以下POCO:

public class GdataHealthTableModel : AuditedEntity
{
    public GdataHealthTableModel()
    {
        PrevHealthAssessment = new HashSet<HealthPrevHealthAssessmentEnum>();
    }

    public HashSet<HealthPrevHealthAssessmentEnum> PrevHealthAssessment { get; set; }
}

但这不会为 PrevHealthAssessment 列生成迁移。那么,能够存储多个枚举成员以便EF“理解它”并生成迁移的正确构造是什么?

2 个答案:

答案 0 :(得分:0)

您可以添加新实体并为其命名,例如PrevHealthAssessmentHealthPrevHealthAssessmentEnum作为属性。

public class PrevHealthAssessment
{
    public int Id { get; set; }
    public HealthPrevHealthAssessmentEnum HealthPrevHealthAssessment { get; set; }

} 

GdataHealthTableModel中,添加新创建的实体的集合,如下所示:

public ICollection<PrevHealthAssessment> PrevHealthAssessments {get; set; }

答案 1 :(得分:0)

您需要使用ICollection类型。

 public class GdataHealthTableModel : AuditedEntity
 {
   public GdataHealthTableModel()
    {
      PrevHealthAssessment = new HashSet<HealthPrevHealthAssessmentEnum>();
    }

   public ICollection<HealthPrevHealthAssessmentEnum> PrevHealthAssessment { get; set; }
 }