nhibernate HbmMapping到Xml

Kar*_*sar 4 c# nhibernate nhibernate-mapping-by-code

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

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

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

这将有助于诊断问题是否来自我的映射!

Rip*_*ppo 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();
Run Code Online (Sandbox Code Playgroud)

选项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();
Run Code Online (Sandbox Code Playgroud)

来源是我刚才写的一篇博客文章.