1

所以我有这个问题我正在做一个导入,我需要在保存第一个表时第一个表的主键也保存在另一个不是外键的表中,是 EF 这样做的一种方式吗?我正在使用 EF5

是这样的,注意 entity1.id 是 autoIncrement

foreach (var entity1 in Entities1)
                {
                    DbContext.Entity1.Add(entity1);
                    var entity2 = new Entity2();
                    entity2.Entity1Id = entity1.id;
                    DbContext.Entity2.Add(entity2);
                }
                DbContext.SaveChanges();
4

1 回答 1

1

在调用 SaveChanges 之前不会生成 Id。因此,要使此代码正常工作,您必须像这样重写它:

DbContext.Entity1.Add(entity1);
DbContext.SaveChanges();
var entity2 = new Entity2();
entity2.Entity1Id = entity1.id;
DbContext.Entity2.Add(entity2);
DbContext.SaveChanges();
于 2013-09-13T21:31:42.507 回答