And*_*ndy 12 nhibernate foreign-key-relationship fluent-nhibernate joined-subclass
我认为这应该很简单,但我无法弄清楚如何做到这一点.假设我有以下地图:
public class AnimalMap : ClassMap<Animal> { Id( x => x.Id); }
public class CatMap: SubclassMap<Cat> {
Extends<AnimalMap>();
Map(x => x.IsDomestic);
}
Run Code Online (Sandbox Code Playgroud)
这就像我期望的那样创建表:
Animal
------
Id
Cat
----
AnimalId : FK to Animal (named FK3500ABA0D)
IsDomestic
Run Code Online (Sandbox Code Playgroud)
如上所述,FK由db生成,最终为FK3500ABA0D.我想要做的就是设置该约束的名称,但是我找不到如何通过Fluent NHibernate(或者实际上甚至简单的NHibernate)来做到这一点.
那么,我错过了什么?
zcr*_*r70 22
流利的NH确实允许这样:
public class ReferenceConvention : IReferenceConvention{
public void Apply(IManyToOneInstance instance) {
instance.ForeignKey(string.Format("FK_{0}_{1}",
instance.EntityType.Name,
instance.Name));
}
}
Run Code Online (Sandbox Code Playgroud)
您还需要以IHasManyConvention与IHasManyToManyConvention上述相同的方式实施.
我不知道 FluentNH 是否支持,但是 XML 很简单:
<joined-subclass name="Cat">
<key column="AnimalId" foreign-key="NameOfTheFK"/>
</joined-subclass>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3217 次 |
| 最近记录: |