Невозможно установить свойства объекта в приемнике событий NHibernate - PullRequest
0 голосов
/ 12 июля 2010

Я переопределяю NHInnate PreInsertEventListener, чтобы установить для свойства DateCreated объекта значение DateTime.Now.

Вот мой код:

public bool OnPreInsert(PreInsertEvent e)
{
  DomainObject domainObject = (DomainObject) e.Entity;
  if (domainObject.CreatedById == 0) throw new Exception("The " + domainObject.GetType().Name + " cannot be created if its CreatedById property has not been set.");
  domainObject.DateCreated = DateTime.Now;
  return false;
}

Я считаю, что любые свойства объекта установленыздесь (например, вызов DateCreated выше) не найти пути к обновлению SQL, созданному NHibernate.Кто-нибудь знает, что дает?

Да, я подтвердил, что мой слушатель событий вызывается!

Спасибо

Дэвид

1 Ответ

1 голос
/ 12 июля 2010

Хммм, кажется, вам нужно использовать определенный синтаксис для изменения свойств сущности на этом этапе игры.

Этот синтаксис демонстрируется здесь:

Почему для объекта вызываются методы NHibernate OnPreInsert и OnPreUpdate

Обратите внимание, что я обнаружил, что вам также не нужно задавать свойства объекта обычным способом, как это делает этот код.

Спасибо

David

...