使用自动化时,如何在流畅的nhibernate中关闭Identifiergeneration

时间:2011-04-11 12:05:41

标签: fluent-nhibernate automapping

我使用NHibernate 3.0和流畅的配置。我像这样自动化我的持久模型:

AutoMap
    .AssemblyOf<BaseEntity>()
    .Where(type => type.Namespace != null && type.Namespace.Contains("PersistendModel"))

这很好用,但我不想使用默认的identifierGenerators。我的对象初始化了GUID Id,但现在它们被NHibernate覆盖了。

我需要添加什么(Convention,Override,SomeThingElse?),所以这不会发生。

1 个答案:

答案 0 :(得分:4)

我添加了以下约定:

public class IdConvention : IIdConvention
{

    public void Apply(IIdentityInstance instance)
    {
        instance.GeneratedBy.Assigned();
    }

}

这可以一次性完成我所有持久课程的技巧。