nhibernate HbmMapping to Xml

本文关键字:Xml to HbmMapping nhibernate | 更新日期: 2023-09-27 18:34:09

我正在使用NHibernate按代码映射来映射类。

有时,为了调试我的 NHibernate 配置,我需要准确检查传递给 NHibernate 的设置是什么,并且很难调试按代码映射。

有没有办法将生成的 HbmMapping 转换回 Xml 文件,就像手动键入一样?

这将对诊断问题是否来自我的映射有很大帮助!

nhibernate HbmMapping to Xml

选项 1

请注意,这会将 XML 写入您的 BIN 文件夹,从而导致 IIS 池回收,因此请运行一次,然后将WriteAllXmlMapping行注释回去!

var mapper = new ModelMapper();
mapper.AddMappings(typeof(CmsMeta).Assembly.GetTypes());
//This will write all the XML into the bin/mappings folder
mapper.CompileMappingForEachExplicitlyAddedEntity().WriteAllXmlMapping();

选项 2

这将为您提供一个大型 XML 文件,您可以向其添加断点。

var mapper = new ModelMapper();
mapper.AddMappings(typeof(CmsMeta).Assembly.GetTypes());
var mapping = mapper.CompileMappingForAllExplicitlyAddedEntities();
//you could add a breakpoint here! 
var mappingXml = mapping.AsString();

来源来自我前段时间写的一篇博客文章。