Entity framework core 如何使用EF core使用外键将数据插入多个表中?

Entity framework core 如何使用EF core使用外键将数据插入多个表中?,entity-framework-core,Entity Framework Core,使用Entity Framework Core将数据插入到多个表中的最佳方法是什么,其中一个或多个新RCORD包含第一个表的外键 鉴于这些实体: public class ParentEntity { public int Id {get; set;} public string Name {get; set;} } public class ChildEntity { public int Id {get; set;} public int ParentId

使用Entity Framework Core将数据插入到多个表中的最佳方法是什么,其中一个或多个新RCORD包含第一个表的外键

鉴于这些实体:

public class ParentEntity
{
    public int Id {get; set;}
    public string Name {get; set;}
}

public class ChildEntity
{
    public int Id {get; set;}
    public int ParentId {get; set;}
    public string Name {get; set;}
}
我知道我可以使用以下方法插入数据:

var parentEntity = new ParentEntity {Name = "Mom"};
var childEntity = new ChildEntity {Name = "Junior"};

await db.Parents.AddAsync(parentEntity);
childEntity.ParentId = parentEntity.Id;
await db.Children.AddAsync(childEntity);
await _context.SaveChangesAsync();

但我可以看到,这将无法很好地扩展。我现在正在学习EF Core,我找不到更好的方法来处理这个问题。

如果你真的需要使用外键,那么你应该这样做。。这就像手动执行SQL查询一样

但EF支持a的概念。因此,您可以像这样定义您的类:

公共类父实体
{
公共int Id{get;set;}
公共ICollection子项{get;}=new List();
}
公共类子实体
{
公共int Id{get;set;}
public int ParentId{get;set;}
}
然后像这样使用它

var parentEntity=new parentEntity();
parentEntity.Children.Add(new ChildEntity());
context.Parents.Add(parentEntity);//将添加父级及其子级
SaveChanges();

如果您真的需要使用外键,那么您应该这样做。。这就像手动执行SQL查询一样

但EF支持a的概念。因此,您可以像这样定义您的类:

公共类父实体
{
公共int Id{get;set;}
公共ICollection子项{get;}=new List();
}
公共类子实体
{
公共int Id{get;set;}
public int ParentId{get;set;}
}
然后像这样使用它

var parentEntity=new parentEntity();
parentEntity.Children.Add(new ChildEntity());
context.Parents.Add(parentEntity);//将添加父级及其子级
SaveChanges();