Mar*_*oft 8 .net c# nhibernate orm fluent-nhibernate
我正在尝试使用Fluent NHibernate映射一个连接子类场景.我在名称空间Core中定义了一个类Entity,在名称空间SomeModule中有一个类SubClass:Entity
现在我显然不希望类Entity知道它的派生类型,SomeModules命名空间引用Core - 而不是相反.
我能够找到的所有例子都使用如下:
public class EntityMap : ClassMap<Entity> {
public EntityMap() {
Id(x => x.Id)
var subClassMap = JoinedSubClass<SubClass>("SubClassId", sub => sub.Map(x => x.Id));
subClassMap.Map(x => x.SomeProperty)
...
}
}
Run Code Online (Sandbox Code Playgroud)
这根本不适用于我的情况 - 我需要类似于NHibernate xml映射的东西:
<joined-subclass name="SubClass" extends="Entity, Core" >
<key column="SubClassId" foreign-key="FK_KollegiumEntity"/>
<property name="Name" length="255" not-null="true" />
...
</joined-subclass>
Run Code Online (Sandbox Code Playgroud)
有没有人用Fluent NHibernate实现这一目标?
Sea*_*nch 10
我认为自从提出这个问题以来API已经发生了变化,但这对我有用:
public class SomeSubclassMap : SubclassMap<SomeSubclass> {
public SomeSubclassMap()
{
KeyColumn("SomeKeyColumnID");
Map(x => x.SomeSubClassProperty);
...
}
}
Run Code Online (Sandbox Code Playgroud)
我相信KeyColumn仅在与'Baseclassname_id'不同时才需要
注意:ClassMap<SomeBaseClass>
SomeSubClass 还应该有一个基类.
你好几天前做了一些类似的事情。
public class EntityMap : ClassMap<Entity> {
public EntityMap() {
Id(x => x.Id)
JoinedSubClass<SubClass>("SubClassId", sub => {
sub.Map(x => x.Name);
sub.Map(x => x.SomeProperty);
});
}
}
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你
归档时间: |
|
查看次数: |
13764 次 |
最近记录: |