4
Fluent NHibernate로 이동하는 것을보고 있습니다 - 지금까지 만난 유일한 문제는 합류 된 하위 클래스 매핑에 외래 키 이름을 지정할 수 없다는 것입니다.Fluent NHibernate - joined subclass ForeignKey 이름
누구에게도 해결책이 있습니까?
나는 this post을 발견했으나 제안 사항은 분명히 코드에 추가되지 않았습니다.
가능한 경우 코드를 직접 사용자 정의하지 않는 것이 좋습니다.
어떤 도움이 좋을 것 ...
예 :
public class Product
{
public string Name { get; set; }
}
public class Hammer : Product
{
public string Description { get; set; }
}
public class ProductMap : ClassMap<Product, long>
{
public ProductMap()
{
Polymorphism.Implicit();
Map(x => x.Name);
}
}
public class HammerMap : SubclassMap<Hammer>
{
public HammerMap()
{
Extends<Product>();
}
}
이 생성 뭔가 같은 : 매핑 HBM에 지정된 외래 키 이름이 없다는 것을
가<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default-access="field.camelcase-underscore" auto-import="false" default-cascade="none" default-lazy="true">
<class xmlns="urn:nhibernate-mapping-2.2" dynamic-insert="true" dynamic-update="true" mutable="true" polymorphism="implicit" optimistic-lock="version" name="Domain.Product, Domain" table="Product">
<id name="Id" type="System.Int64">
<column name="Id" />
<generator class="native">
<param name="sequence">ProductId</param>
</generator>
</id>
<property name="Name" type="System.String">
<column name="Name" />
</property>
<joined-subclass name="Domain.Hammer, Domain" table="Hammer">
<key>
<column name="Product_Id" />
</key>
<property name="Description" type="System.String">
<column name="Description" />
</property>
</joined-subclass>
</class>
</hibernate-mapping>
주 파일 - 같이 :
<joined-subclass name="Domain.Hammer, Domain" table="Hammer">
<key column="Product_Id" foreign-key="FK_Hammer_Product"/>
</joined-subclass>