我正在使用 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();

来源来自我前段时间写的 blog post

关于c# - nhibernate Hbm映射到Xml,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10602263/

10-17 02:33