C# 实体框架。流畅的Api。反转映射
我有以下课程:C# 实体框架。流畅的Api。反转映射,c#,entity-framework,ef-fluent-api,C#,Entity Framework,Ef Fluent Api,我有以下课程: class Parent { public int ID; public Child Child1; public Child Child2; } class Child { public int ID; public string Data; } 使用DbModelBuilder,我有以下流畅的API代码: EntityTypeConfiguration<Parent> adrInEgrul = modelBui
class Parent
{
public int ID;
public Child Child1;
public Child Child2;
}
class Child
{
public int ID;
public string Data;
}
使用DbModelBuilder,我有以下流畅的API代码:
EntityTypeConfiguration<Parent> adrInEgrul
= modelBuilder.Entity<Parent>();
adrInEgrul.HasKey(x => x.ID);
adrInEgrul.HasOptional(x => x.Child1)
.WithOptionalPrincipal();
adrInEgrul.HasOptional(x => x.Child2)
.WithOptionalPrincipal();
EntityTypeConfiguration adrInEgrul
=modelBuilder.Entity();
adrInEgrul.HasKey(x=>x.ID);
adrInEgrul.has可选(x=>x.Child1)
.使用OptionalPrincipal();
adrInEgrul.has可选(x=>x.Child2)
.使用OptionalPrincipal();
所有这些给了我以下表格:但我确实需要以下内容:
我很乐意只修复Fluent API部件就得到我想要的,但不知道如何去做(如果可能的话)。
非常感谢您的帮助。在callum linington的评论之后,我提出了以下流畅的API代码,完成了这项工作
EntityTypeConfiguration<Parent> adrInEgrul
= modelBuilder.Entity<Parent>();
adrInEgrul.HasKey(x => x.ID);
adrInEgrul.HasOptional(x => x.Child1);
adrInEgrul.HasOptional(x => x.Child2);
EntityTypeConfiguration adrInEgrul
=modelBuilder.Entity();
adrInEgrul.HasKey(x=>x.ID);
adrInEgrul.has可选(x=>x.Child1);
adrInEgrul.has可选(x=>x.Child2);
只需将public int Child1Id{get;set;}
和第二个的一个添加到父级!并删除fluent代码