Как возвратить идентификатор из NHibernate ISession. SaveOrUpdate

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

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

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

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

Действительно ли это - лучший способ возвратить мои идентификационные данные?

Спасибо,

Ben

5
задан Ben Foster 24 June 2010 в 13:58
поделиться

1 ответ

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

   public void Save(Vehicle entity) {
    using (var txn = _session.BeginTransaction()) {
        _session.SaveOrUpdate(entity);
        txn.Commit();
    }
}
8
ответ дан 14 December 2019 в 04:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: