Как вернуть идентификатор из NHibernate ISession.SaveOrUpdate - PullRequest
5 голосов
/ 24 июня 2010

Я использую ISession.SaveOrUpdate для вставки новых объектов и обновления существующих.

Если я использую ISession.Save (..), это возвращает идентификатор вставленной записи.

Для SaveOrUpdate я делаю следующее:

   public int Save(Vehicle entity) {
        using (var txn = _session.BeginTransaction()) {
            _session.SaveOrUpdate(entity);
            txn.Commit();
        }
        return entity.Id;
    }

Это лучший способ вернуть мою личность?

Спасибо

Ben

1 Ответ

7 голосов
/ 24 июня 2010

В этом нет ничего плохого.Но так как идентичность установлена ​​для объекта, почему бы не вернуть метод void:

   public void Save(Vehicle entity) {
    using (var txn = _session.BeginTransaction()) {
        _session.SaveOrUpdate(entity);
        txn.Commit();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...