Каким правилам и соглашениям должен следовать класс, чтобы правильно работать с NHibernate?
Я работаю над шаблоном кода для создания POCO из моей схемы БД.
Существует ли своего рода сводный список, который определяет MUST-TO-HAVE в классе, так что он может быть сопоставлен с Db с помощью NHibernate без каких-либо проблем.
(Как я знаю, одно из правил - иметь свои свойства виртуальными, чтобы прокси NHibernate могли переопределять)
Спасибо!
1 ответ
Ну, кроме virtual
свойства вы также должны:
- иметь конструктор без параметров, даже если
private/protected
- иметь свойство (или комбинацию свойств), которое идентифицирует объект (обычно первичный ключ таблицы)
- переопределение
int GetHashCode()
а такжеbool Equals(object obj)
используя вышеупомянутый идентификатор объекта в своем теле