Entity Framework Code First HashSet 未生成迁移代码
Entity Framework Code First HashSet not generating migration code
- ASP.NET 4.61,英孚 6.1.3
- SQL 服务器 2012
我有以下 POCO:
public class GdataHealthTableModel : AuditedEntity
{
public GdataHealthTableModel()
{
PrevHealthAssessment = new HashSet<HealthPrevHealthAssessmentEnum>();
}
public HashSet<HealthPrevHealthAssessmentEnum> PrevHealthAssessment { get; set; }
}
但这不会为列 PrevHealthAssessment 生成迁移。那么能够存储多个枚举成员以便 EF "understands it" 并生成迁移的正确构造是什么?
您可以添加一个新实体并为其命名,例如PrevHealthAssessment
将 HealthPrevHealthAssessmentEnum
作为 属性。
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; }
}
- ASP.NET 4.61,英孚 6.1.3
- SQL 服务器 2012
我有以下 POCO:
public class GdataHealthTableModel : AuditedEntity
{
public GdataHealthTableModel()
{
PrevHealthAssessment = new HashSet<HealthPrevHealthAssessmentEnum>();
}
public HashSet<HealthPrevHealthAssessmentEnum> PrevHealthAssessment { get; set; }
}
但这不会为列 PrevHealthAssessment 生成迁移。那么能够存储多个枚举成员以便 EF "understands it" 并生成迁移的正确构造是什么?
您可以添加一个新实体并为其命名,例如PrevHealthAssessment
将 HealthPrevHealthAssessmentEnum
作为 属性。
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; }
}