Создать личность из таблицы семян в Fluent NHibernate - PullRequest
3 голосов
/ 04 марта 2010

Мне нужно сгенерировать идентификатор из столбца в исходной таблице и увеличить значение в этом столбце.

* 1003 например *

Seed Table:

name     "analysisid"
id       1


Analysis Table:

id
name
description

В отображении анализа мне нужно убедиться, что идентификатор взят из таблицы семени, а при вставке анализа анализид семени идентификатора обновлен. Я реализую собственный класс, унаследованный от TableGenerator?

1 Ответ

4 голосов
/ 04 марта 2010

NHibernate включает в себя ряд стратегий генерации идентификаторов и включает механизм расширения для пользовательских с помощью NHibernate.Id.IIdentifierGenerator.

Вы можете сделать это, внедрив триггер вставки, который выбирает и назначаетследующий идентификатор для сущности анализа.В этом случае используйте <generator class="trigger-identity" />.

. Другой подход заключается в создании собственной стратегии идентификатора путем реализации IIdentifierGenerator и отображения в виде <generator class="My.Namespace.MyIdentifierGenerator" />.

. В свободное время эти генераторы отображаются:

Id( x => x.Id ).GeneratedBy.Custom<NHibernate.Id.TriggerIdentityGenerator>();
Id( x => x.Id ).GeneratedBy.Custom<My.Namespace.MyIdentifierGenerator>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...