您可以指定命名空间和程序集以使用HBM文件顶部的类型:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="MyCorp.MyAssembly" namespace="MyCorp.MyAssembly.MyNamespace">
您可以在同一个映射文件中使用来自多个程序集/命名空间的类型,如果是,那么这样做的语法是什么?
答案 0 :(得分:4)
您可以从HBM文件的顶部删除默认的程序集和命名空间定义,然后在映射文件中每次出现时指定完全限定的类型名称,如下所示:
Namespace.TypeName,Assembly.Name
不漂亮,但确实有效。
答案 1 :(得分:3)
正如Ben所说,你可以使用合格的类型名称。
然而,NHibernate的通常做法是将每个类的映射放在一个单独的文件中,这样可以更容易维护。
就个人而言,我有时会在同一个文件中对相关类进行分组,但就是这样(例如 XYHeader 和 XYDetail )。
对于来自不同程序集的类型(通常意味着不同的子域),我甚至使用单独的项目。