NHibernate: Как проверить, является ли объект постоянным - PullRequest
1 голос
/ 26 ноября 2009

Я часто пишу код, подобный следующему:

if (myEntity.Id == default(Guid))
   Session.Save(myEntity);

Каков наилучший способ проверить, является ли объект уже постоянным (и, следовательно, его не нужно сохранять)?

Я что-то не так пишу, как этот?

1 Ответ

5 голосов
/ 26 ноября 2009

Это то, что я делаю, за исключением того, что я обычно использую метод IsNew () или IsTransient () в базовом классе или расширении, которое выполняет эту проверку. Тогда код становится:

public Boolean IsTransient(){
 return this.Id == default(Guid);
}

Не забывайте, что метод Session.SaveOrUpdate (entity) вызовет обновление сохраняемой сущности (в отличие от вставки), чтобы вы могли использовать этот метод и игнорировать проверку. Я предпочитаю делать чек, хотя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...