如何在我的所有实体上设置 DynamicUpdate 和 DynamicInsert?
当我将它与我的映射代码放在一起时,它可以完美地工作,但我只想为我的整个项目指定一次。
创建会话或在配置中找不到选项。
有任何想法吗?
如何在我的所有实体上设置 DynamicUpdate 和 DynamicInsert?
当我将它与我的映射代码放在一起时,它可以完美地工作,但我只想为我的整个项目指定一次。
创建会话或在配置中找不到选项。
有任何想法吗?
我使用流利的 nhibernate,所以我会像这样更改它们:
var fluentConfiguration = Fluently.Configure(NHibernate.Cfg.Configuration().Configure())
.Mappings(m =>
m.FluentMappings
.AddFromAssemblyOf<OrderMap>()
.Conventions.AddFromAssemblyOf<PascalCaseColumnNameConvention>())
.ProxyFactoryFactory("NHibernate.Bytecode.DefaultProxyFactoryFactory, NHibernate");
var config = fluentConfiguration.BuildConfiguration();
foreach(PersistentClass persistentClass in config.ClassMappings)
{
persistentClass.DynamicUpdate = true;
}
var sessionFactory = config.BuildSessionFactory();
当使用按代码映射时,它就像这样简单:-
var mapper = new ModelMapper();
mapper.BeforeMapClass += (mi, t, map) =>
{
map.DynamicUpdate(true);
map.DynamicInsert(true);
};
...
只需确保将其从所有类中逐个类映射中删除,因为它们将覆盖此约定。
如果您确实想覆盖任何类定义,那么您也可以使用
mapper.AfterMapClass += (mi, t, map) => { ... }