EF CTP4, когда вызывать context.SaveChanges - PullRequest
2 голосов
/ 15 ноября 2010

Я пытаюсь повторить многие из практик, которые мы используем с NHibernate в EF CTP4.

В настоящее время у нас есть общий интерфейс хранилища (CTP4 на самом деле делает это довольно просто с помощью DbContext.Set).

Мы передаем контекст и используем StructureMap, чтобы охватить его в соответствии с HttpRequest.

В NHibernate мы передаем ISession (снова созданный с использованием StructureMap), но используем ActionFilter (UnitOfWork) для фиксации транзакции в концезапроса.

Есть ли у нас эквивалентные транзакции в EF CTP4?Если нет, должен ли я использовать тот же фильтр для вызова context.SaveChanges () или просто сделать это внутри репозитория.

Кстати, какой самый простой способ проверить, является ли объект новым или нет,С NH у нас есть возможность просто вызвать ISession.SaveOrUpdate.Обратите внимание, что все мои сущности используют идентификатор Guid.Возможно, проверка по умолчанию (Guid)?

Спасибо.

1 Ответ

1 голос
/ 13 июня 2011

Я знаю, что это поздний ответ, который вы уже поняли, но я думаю, что он полезен для людей, ищущих.У Роба Конери есть отличная статья об использовании actionfilter и Ef для создания транзакций для каждой области запроса.

Робот C Статья

Да, да, я бы создал метод UpdateInsert () в универсальном репозитории, который проверяет стандартность (Guid).

...