Mam następującą strukturę projektu Rozwiązanie:NHibernate Dołączył podklasy w oddzielnych podzespołów
Application.Core.Entities
Application.Xtend.CustomerName.Entities
w projekcie rdzenia Mam podmiot klienta defiend. W projekcie XTend mam zdefiniowaną jednostkę, która podklasuje klienta o nazwie xKlienta (z braku lepszej nazwy w tym momencie ...).
Pomysł polega na tym, że w naszej aplikacji mamy model domeny rdzeniowej. Klient może następnie utworzyć nowy zestaw zawierający rozszerzenia naszego modelu podstawowego. Gdy występuje rozszerzenie, klasa inteligentna IRepository zwróci podklasę klasy podstawowej.
Próbuję odwzorować ten związek na NHibernate. Korzystanie Fluent NHibernate byłem w stanie wygenerować ten mapowanie:
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
default-lazy="false"
assembly="NHibernate.Core.Entites"
namespace="NHibernate.Entites"
default-access="field.camelcase-underscore">
<!-- Customer is located in assembly Application.Core.Entities -->
<class name="Customer" table="Customers" xmlns="urn:nhibernate-mapping-2.2">
<id name="Id" column="Id" type="Int64">
<generator class="native" />
</id>
<component name="Name" insert="true" update="true">
<property name="LastName" column="LastName" length="255" type="String" not-null="true">
<column name="LastName" />
</property>
<property name="FirstName" column="FirstName" length="255" type="String" not-null="true">
<column name="FirstName" />
</property>
</component>
<!-- xCustomer is located in assembly Application.XTend.CustomerName.Entities -->
<joined-subclass name="xCustomer" table="xCustomer">
<key column="CustomerId" />
<property name="CustomerType" column="CustomerType" length="255" type="String" not-null="true">
<column name="CustomerType" />
</property>
</joined-subclass>
</class>
</hibernate-mapping>
Ale NHib wyrzuca następujący błąd:
NHibernate.MappingException: persistent class Application.Entites.xCustomer, Application.Core.Entites not found ---> System.TypeLoadException: Could not load type 'Application.Entites.xCustomer' from assembly 'Application.Core.Entites, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'..
co ma sens xCustomer nie jest zdefiniowany w bibliotece podstawowej.
Czy jest możliwe, aby obejmowały one różne zespoły? Czy zbliżam się do problemu?