4

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

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

有什么方法可以将生成的 HbmMapping 转换回 Xml 文件,就像手动输入一样?

如果问题出在我的映射中,这将对诊断有很大帮助!

4

1 回答 1

7

选项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();

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

于 2012-05-15T13:55:57.727 回答