C# 实体框架fluent api使用非父项的外键将子项映射到父项';身份证
我想映射子类,但子对象上的外键不是C# 实体框架fluent api使用非父项的外键将子项映射到父项';身份证,c#,.net,entity-framework,ef-fluent-api,C#,.net,Entity Framework,Ef Fluent Api,我想映射子类,但子对象上的外键不是程序类上的ID。如何使用EF fluent API定义此关系?下面是我的课程 public class Program { public int Id { get; set; } public string ProgramNumber { get; set; } public List<Child> Children { get; set; } } public class C
程序
类上的ID。如何使用EF fluent API定义此关系?下面是我的课程
public class Program
{
public int Id { get; set; }
public string ProgramNumber { get; set; }
public List<Child> Children { get; set; }
}
public class Child
{
public int Id { get; set;}
public string ProgramNumber { get; set; }
}
internal class ProgramMapping : EntityTypeConfiguration<Program>
{
public ProgramMapping()
{
ToTable("PROGRAMS");
HasKey(t => t.Id);
Property(t => t.Id).HasColumnName("ID");
Property(t => t.ProgramNumber).HasColumnName("PROGRAM_NUMBER");
}
}
internal class ChildMapping : EntityTypeConfiguration<Child>
{
public ChildMapping()
{
ToTable("CHILDREN");
HasKey(t => t.Id);
Property(t => t.Id).HasColumnName("ID");
Property(t => t.ProgramNumber).HasColumnName("PROGRAM_NUMBER");
}
}
公共类程序
{
公共int Id{get;set;}
公共字符串ProgramNumber{get;set;}
公共列表子项{get;set;}
}
公营儿童
{
公共int Id{get;set;}
公共字符串ProgramNumber{get;set;}
}
内部类程序映射:EntityTypeConfiguration
{
公共程序映射()
{
ToTable(“程序”);
HasKey(t=>t.Id);
属性(t=>t.Id);
属性(t=>t.ProgramNumber).HasColumnName(“PROGRAM_NUMBER”);
}
}
内部类ChildMapping:EntityTypeConfiguration
{
公共子映射()
{
可折叠(“儿童”);
HasKey(t=>t.Id);
属性(t=>t.Id);
属性(t=>t.ProgramNumber).HasColumnName(“PROGRAM_NUMBER”);
}
}
在EF6中不能执行任何操作。看起来这在core中是可能的:在EF6中不可能。看起来在core中是可能的: