2009-11-26 3 views
1

Я считаю себя писать код как следующий довольно много:NHibernate: Как проверить, если объект является стойким

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

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

Я делаю что-то неправильно, пишу код вроде этого?

ответ

5

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

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

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

Смежные вопросы