将Hbm.xml存储在文件夹中,按需加载它们

时间:2013-10-03 16:06:33

标签: nhibernate nhibernate-mapping mapping-by-code

将hbm文件与实体装配分开存储并按需加载它们的最佳方法是什么?我假设我需要将xml文件加载到HbmMapping实例并将其序列化为Hibernate.Cfg.Configuration实例?

1 个答案:

答案 0 :(得分:1)

Configuration.AddAssembly(Assembly)是加载* .hbm.xml映射的常用方法之一,但它不是唯一的方法。这些都是“添加映射”方法:

  • AddAssembly
  • AddClass
  • AddDeserializedMapping
  • AddDirectory
  • AddDocument
  • AddFile
  • AddInputStream
  • AddMapping
  • AddResource
  • AddUrl
  • AddXml
  • AddXmlFile
  • AddXmlReader
  • AddXmlString

假设您有一个名为Stream OpenHbm(String)的方法,我相信这样的方法应该有效:

foreach (var hbmName in hbmNames)
    using (var stream = OpenHbm(hbmName))
        config.AddInputStream(stream, hbmName);