大佬教程收集整理的这篇文章主要介绍了Nhibernate Evers,如何更改 AuditJoinTable 名称,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用流畅的 Nhibernate 和 Envers 进行此设置
var enversConf = new NHibernate.Envers.Configuration.Fluent.FluentConfiguration();
enversConf.Audit<Segnalazione>()
IRevisionListener revListner = services.Getservice<IRevisionListener>();
enversConf.SetRevisionEntity<RevisionEntity>(e => e.ID,e => e.RevisionDate,revListner);
cfg.SetEnversProperty(ConfigurationKey.AudittableSuffix,"_LOG");
cfg.SetEnversProperty(ConfigurationKey.AuditStrategy,typeof(CustomValIDityAuditStrategy));
cfg.IntegrateWithEnvers(enversConf);
我需要更改 AuditJointable 命名添加前缀 XXX_
所有其他表都有相同的前缀,所以标准日志表继承它,只有Jointable没有
我找到了 java version 的设置,但没有找到 .net one
编辑: 现在我有这个命名约定的表:
XXX_table1
XXX_table2
主日志表是用_LOG后缀创建的,所以我得到
XXX_table1_LOG
XXX_table2_LOG
同时
AuditJointable 被创建为
table1table2_LOG
我需要
XXX_table1table2_LOG
我通过将名称添加到每个连接表来解决这个问题。可能更通用,但它有效。
enversConf.Audit<Segnalazione>()
.SetTableInfo(ug => ug.Foo,t => t.Tablename = "XXX_Segnalazione_Foo")
,
您的意思是 cfg.SetEnversProperty(ConfigurationKey.AuditTablePrefix,"XXX_")
不起作用吗?应该。
IEnversNamingStrategy
用于决定表的名称,默认使用 this one,其中 ConfigurationKey.AuditTablePrefix
用于“默认前缀”。如果你愿意,你也可以注入你自己的这个接口的实现。
以上是大佬教程为你收集整理的Nhibernate Evers,如何更改 AuditJoinTable 名称全部内容,希望文章能够帮你解决Nhibernate Evers,如何更改 AuditJoinTable 名称所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。