nhibernate映射文件中的多个程序集和命名空间的类型

时间:2010-04-19 16:28:13

标签: nhibernate assemblies nhibernate-mapping namespaces

您可以指定命名空间和程序集以使用HBM文件顶部的类型:

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="MyCorp.MyAssembly" namespace="MyCorp.MyAssembly.MyNamespace">

您可以在同一个映射文件中使用来自多个程序集/命名空间的类型,如果是,那么这样做的语法是什么?

2 个答案:

答案 0 :(得分:4)

您可以从HBM文件的顶部删除默认的程序集和命名空间定义,然后在映射文件中每次出现时指定完全限定的类型名称,如下所示:

Namespace.TypeName,Assembly.Name

不漂亮,但确实有效。

答案 1 :(得分:3)

正如Ben所说,你可以使用合格的类型名称。

然而,NHibernate的通常做法是将每个类的映射放在一个单独的文件中,这样可以更容易维护。

就个人而言,我有时会在同一个文件中对相关类进行分组,但就是这样(例如 XYHeader XYDetail )。

对于来自不同程序集的类型(通常意味着不同的子域),我甚至使用单独的项目。