Entity Framework Code First HashSet 未生成迁移代码

Entity Framework Code First HashSet not generating migration code

我有以下 POCO:

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

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

但这不会为列 PrevHealthAssessment 生成迁移。那么能够存储多个枚举成员以便 EF "understands it" 并生成迁移的正确构造是什么?

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

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

} 

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

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

您需要使用 ICollection 类型。

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

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