1

EntityFrameworkリポジトリで作業単位パターンを実装しました。**ゴルフクラップ**

同じコミット内で複数のインセットや削除を行うための一般的な方法は何ですか?

例: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エンティティリストに対してのみ発生しますか?

これは悪い習慣ですか?すなわち。追加/更新と削除を混在させないでください。常に削除する前にコミットしますか?

4

1 に答える 1

0

許可されていますが、注文は保証されません。EFは最良の順序を見つけようとし、それができない場合はスローします。これを包括的にテストするのが難しいと思われる場合は、おそらくその通りです。

于 2011-01-24T18:44:02.240 に答える