我们使用NHibernate.Envers扩展来进行审计。因此,尽管审计实体不是我们业务模型的一部分,但它们是即时生成的。
但是NHMetadataBuilder调用GetMappedClass方法,并且在这些审核实体和我们的业务实体之间没有区别。但是,对于这些审核实体,稍后会崩溃。GetMappedClass返回的类型为System.Collections.IDictionnary,显然,将其添加到元数据没有任何意义。
现在,我们只是通过在BuildMetadata方法中添加保护措施来忽略这些实体:
foreach (var meta in classMeta.Values)
{
if (!meta.EntityName.EndsWith("_AUD"))
{
AddClass(meta);
}
}
您能想到一种更通用的方法吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句