Fluent NHibernate присваивает всем идентификаторам присвоенное значение

#fluent-nhibernate

#fluent-nhibernate

Вопрос:

Я знаю, что могу вручную присвоить каждому свойству Id значение assigned using Assigned() .

Есть ли какой-либо способ применить это глобально, поскольку я хочу сделать это для каждого объекта?

Ответ №1:

Конечно, просто зарегистрируйте соглашение FluentNHibernate следующим образом:

 public class AssignedIdConvention : IIdConvention
{
    public void Apply(IIdentityInstance instance)
    {
        instance.GeneratedBy.Assigned();
    }
}
  

Регистрация проходит следующим образом:

 Fluently.Configure()
    .Mappings(...)
    .Conventions.Add<AssignedIdConvention>()