Fluent nHibernate AutoMapping и схема генерации идентификаторов

Как я могу использовать Fluent NHibernate (с AutoMapping) для настройки схемы генерации идентификатора по умолчанию для Guid.Comb? Я вижу, что могу указать в каждой сущности (или базовом классе) следующий код:

Id(entity => entity.Id, "Id").GuidComb();

Что нормально. Однако это кажется не столько установкой поведения по умолчанию, сколько его переопределением. Я просто хочу знать, не упускаю ли я какой-то трюк с настройкой.

Спасибо за любую помощь


person James    schedule 01.09.2011    source источник


Ответы (1)


вам следует использовать соглашения.
таким образом вы можете определить поведение по умолчанию, которое будет применяться ко всем ваши занятия (или условно, если нужно).

person J. Ed    schedule 01.09.2011
comment
Не могли бы вы привести мне пример достижения этого? Я попытался создать собственное соглашение, реализовав интерфейс реализации IClassConvention, но следующая строка метода Apply выдает ошибку компилятора. Невозможно разрешить идентификатор символа: instance.Id (entity = ›entity.Id, Id) .GuidComb (); - person James; 02.09.2011
comment
Понятно. Необходимо создать класс соглашения, реализующий интерфейс IIdConvention. Затем в методе apply просто напишите: instance.GeneratedBy.GuidComb (); - person James; 02.09.2011