我正在使用 NHibernate 代码映射来映射类。
有时,为了调试我的 NHibernate 配置,我需要准确检查传递给 NHibernate 的设置是什么,并且按代码调试映射非常困难。
有什么方法可以将生成的 HbmMapping 转换回 Xml 文件,就像手动输入一样?
如果问题出在我的映射中,这将对诊断有很大帮助!
我正在使用 NHibernate 代码映射来映射类。
有时,为了调试我的 NHibernate 配置,我需要准确检查传递给 NHibernate 的设置是什么,并且按代码调试映射非常困难。
有什么方法可以将生成的 HbmMapping 转换回 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();
来源来自我前段时间写的一篇博文。