我使用NHibernate 3.0和流畅的配置。我像这样自动化我的持久模型:
AutoMap
.AssemblyOf<BaseEntity>()
.Where(type => type.Namespace != null && type.Namespace.Contains("PersistendModel"))
这很好用,但我不想使用默认的identifierGenerators。我的对象初始化了GUID Id,但现在它们被NHibernate覆盖了。
我需要添加什么(Convention,Override,SomeThingElse?),所以这不会发生。
答案 0 :(得分:4)
我添加了以下约定:
public class IdConvention : IIdConvention
{
public void Apply(IIdentityInstance instance)
{
instance.GeneratedBy.Assigned();
}
}
这可以一次性完成我所有持久课程的技巧。