有没有办法在多个映射中重用NHibernate组件(< component>)? 例如:Employee和Customer类中的Address类 - 我现在看到的唯一方法是将Address组件映射从一个类映射复制粘贴到另一个类映射中。
答案 0 :(得分:1)
我没有尝试使用NHibernate,但是它使用了另一个使用XML配置文件的OR Mapper。在其自己的XML文件中创建组件映射,然后在使用该组件的XML文件中使用XML external entity来引用它。这是我的公司映射文件的片段:
<!DOCTYPE mappings [
<!ENTITY Address SYSTEM "MyCompany.MyApplication.Mappings.Address.xml">
]>
<mappings version="4.2" defaultNamespace="MyCompany.Model" defaultSchema="dbo">
<entity type="Company" table="Company" keyMember="CompanyId" keyType="Auto">
&Address;
答案 1 :(得分:1)
除了Jamie提出的解决方案之外,使用基于代码的映射提供了更好的重用可能性。
目前,有两个此类项目Fluent NHibernate和ConfORM。
答案 2 :(得分:0)
不幸的是没有。我也真的需要这个功能;)