Entity framework core 在EF Core 2.0中建立一对多关系
各位,我有下面的表格结构Entity framework core 在EF Core 2.0中建立一对多关系,entity-framework-core,Entity Framework Core,各位,我有下面的表格结构 public class PolicySubStatus { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int PolicySubStatusId { get; set; } public string SubStatusName { get; set; } public IList<PolicySubStatusReason>
public class PolicySubStatus
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int PolicySubStatusId { get; set; }
public string SubStatusName { get; set; }
public IList<PolicySubStatusReason> PolicySubStatusReason { get; set; }
}
public class PolicySubStatusReason
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int PolicySubStatusReasonId { get; set; }
public string SubStatusReason { get; set; }
}
公共类策略子状态
{
[关键]
[数据库生成(DatabaseGeneratedOption.Identity)]
public int policySubstatuid{get;set;}
公共字符串子状态名{get;set;}
公共IList PolicySubStatusReason{get;set;}
}
公共类策略状态原因
{
[关键]
[数据库生成(DatabaseGeneratedOption.Identity)]
public int PolicySubStatusReasonId{get;set;}
公共字符串子状态原因{get;set;}
}
这将为一对多关系创建迁移并使用适当的FK正确更新DB
我的问题是使用ModelBuilder对数据进行种子设定,如何在数据中创建联接?
我有这个
modelBuilder.Entity<PolicySubStatusReason>().HasData(
new PolicySubStatusReason
{
PolicySubStatusReasonId = 1,
SubStatusReason = "Claim Repair Documents"
},
new PolicySubStatusReason
{
PolicySubStatusReasonId = 2,
SubStatusReason = "Cause of Loss Statement"
},
modelBuilder.Entity().HasData(
新政策
{
PolicySubStatusReasonId=1,
SubStatusReason=“索赔维修单”
},
新政策
{
PolicySubStatusReasonId=2,
SubStatusReason=“损失原因说明”
},
如何设置PolicySubStatus的种子以引用上面的PolicySubStatusReason列表?您可以使用匿名类型来表示已设置的
PolicySubStatusReason
,因为您不公开FK属性PolicySubStatusReason.PolicySubStatusId
模型创建时受保护的覆盖无效(ModelBuilder ModelBuilder)
{
modelBuilder.Entity().HasData(
新政策子状态
{
PolicySubStatusId=999,
SubStatusName=“abc”
});
modelBuilder.Entity().HasData(
//匿名类型
新的
{
PolicySubStatusReasonId=1,
PolicySubStatusId=999,
SubStatusReason=“索赔维修单”
},
新的
{
PolicySubStatusReasonId=2,
PolicySubStatusId=999,
SubStatusReason=“损失原因说明”
});
}