Какова общая практика при попытке вставлять и удалять с помощью Entity Framework и Unit Of Work, все в одном коммите? - PullRequest
1 голос
/ 24 января 2011

Я внедрил шаблон Unit of Work с моим репозиторием Entity Framework. ** Хлопок в гольф **

Теперь мне интересно, какова обычная практика: делать несколько вставок и / или удалять все в пределах одного коммита?

например: представьте, что я хочу добавить 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?

Это плохая практика? то есть. никогда не смешивать добавления / обновления с удалениями? всегда фиксировать перед удалением?

1 Ответ

0 голосов
/ 24 января 2011

Это разрешено, но заказ не гарантирован.EF попытается выяснить лучший заказ и бросит, если не сможет.Если это сложно проверить всесторонне, ну, вы, вероятно, правы.

...