你可以为具有公共列的表重用nhibernate映射文件吗?

时间:2010-10-07 15:06:13

标签: nhibernate nhibernate-mapping hbm

我们有一堆查找表,它们共享相同的列(ID,代码,描述等),我的共同工作只是问我是否可以构建一个通用的lookup.hbm.xml映射文件并将其用作所有其他查找表的基础。 nhibernate是否支持包含文件或其他一些引用常见XML的方法?我知道Fluent支持映射类中的继承,但遗憾的是,切换映射技术不适合我们。

1 个答案:

答案 0 :(得分:2)

是的,您可以使用XML external entities。将公共字段放在XML文件中,并使用!ENTITY在其他XML文件中引用它们。例如:

<!DOCTYPE mappings [
  <!ENTITY Address SYSTEM "xxx.Address.xml">
]>

在NHibernate地图的XML中,您可以使用

导入它
&Address;

需要使用文件的完整命名空间(路径)。我在Visual Studio(至少2008年)中注意到,如果任何文件中存在错误并且您打开了使用外部引用的XML文件,它也会报告错误。