Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework core 在EF Core 2.0中建立一对多关系_Entity Framework Core - Fatal编程技术网

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=“损失原因说明”
});
}