我们有一堆查找表,它们共享相同的列(ID,代码,描述等),我的共同工作只是问我是否可以构建一个通用的lookup.hbm.xml映射文件并将其用作所有其他查找表的基础。 nhibernate是否支持包含文件或其他一些引用常见XML的方法?我知道Fluent支持映射类中的继承,但遗憾的是,切换映射技术不适合我们。
答案 0 :(得分:2)
是的,您可以使用XML external entities。将公共字段放在XML文件中,并使用!ENTITY
在其他XML文件中引用它们。例如:
<!DOCTYPE mappings [
<!ENTITY Address SYSTEM "xxx.Address.xml">
]>
在NHibernate地图的XML中,您可以使用
导入它&Address;
需要使用文件的完整命名空间(路径)。我在Visual Studio(至少2008年)中注意到,如果任何文件中存在错误并且您打开了使用外部引用的XML文件,它也会报告错误。