Entity framework core 如何使用EF core使用外键将数据插入多个表中?
使用Entity Framework Core将数据插入到多个表中的最佳方法是什么,其中一个或多个新RCORD包含第一个表的外键 鉴于这些实体: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
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();