1

我已经用我的实体框架存储库实现了一个工作单元模式。**打高尔夫球**

现在我想知道在同一个提交中进行多个插入和/或删除的常见做法是什么?

例如:想象一下,我希望添加 5 个新对象/实体,出于某种原因,现在删除实体 #3。

// Arrange.
var uow = new UnitOfWork() { ... };
var myRepository = new MyRepository(uow);
var entity1 = new Entity(){ ... };
// ... snip snip ..

// Acts.
myRepository.Add(entity1);
myRepository.Add(entity2);
myRepository.Add(entity3);
myRepository.Add(entity4);
myRepository.Add(entity5);

 // do some logic ...

myRepository.Delete(entity3);

uow.Commit();

这会起作用吗..就像..应该添加实体然后从数据库中删除1?或者这只会发生在 EF 实体列表中?

这是不好的做法吗?IE。永远不要将添加/更新与删除混合在一起?总是在删除之前提交?

4

1 回答 1

0

这是允许的,但不能保证顺序。EF 将尝试找出最佳顺序,如果不能,则抛出。如果这听起来很难全面测试,那么您可能是对的。

于 2011-01-24T18:44:02.240 回答