Entity framework 在同一objectContext中插入多条记录

Entity framework 在同一objectContext中插入多条记录,entity-framework,linq-to-entities,objectcontext,savechanges,Entity Framework,Linq To Entities,Objectcontext,Savechanges,当我尝试使用相同的objectContext插入数据时遇到了一些问题 我的问题是,实体读取我的代码的顺序不是我“添加”它的顺序 例如: EntityAB将EntityA的PK作为FK。 1-N关系 objContext.DbSet.Add(EntityA); objContext.DbSet.Add(EntityAB); objContext.SaveChanges(); 代码到达时出现错误消息SaveChanges(): 因此,我的实体框架正在阅读objContext.DbSet.Add(E

当我尝试使用相同的objectContext插入数据时遇到了一些问题

我的问题是,实体读取我的代码的顺序不是我“添加”它的顺序

例如:

EntityABEntityA的PK作为FK。 1-N关系

objContext.DbSet.Add(EntityA);
objContext.DbSet.Add(EntityAB);
objContext.SaveChanges();
代码到达时出现错误消息
SaveChanges()

因此,我的实体框架正在阅读
objContext.DbSet.Add(EntityAB)
objContext.DbSet.Add(EntityA)之前编码


如果我将代码更改为:

objContext.DbSet.Add(EntityA);
objContext.SaveChanges();
objContext.DbSet.Add(EntityAB);
objContext.SaveChanges();
它起作用了


但我不能。由于审核的原因,需要在one
SaveChanges()
中完成


我的问题是,
我可以强制SAVECHANGES()按照我添加代码的顺序阅读代码吗?

您的上下文是如何设置的

我认为下面的方法可能行得通

在上下文中

public DbSet<EntityA> EntityAs { get; set; }
public DbSet<EntityAB EntityABs { get; set; }
如果这不起作用,我会去探索

objContext.local   

我用类似的方法解决了这个问题(这看起来像是一个解决办法,我仍在努力改进它。)我从@drch得到了这个想法
objContext.EntityAs.Add(EntityA);
objContext.EntityAB.Add(EntityAB);
objContext.SaveChanges();
objContext.local