Fluent NHibernate:一对一映射
NHibernate似乎支持一对一映射的特殊情况(不需要在关系的每一侧都进行1-m映射) 见Ayende的这篇文章:Fluent NHibernate:一对一映射,nhibernate,orm,fluent-nhibernate,mapping,Nhibernate,Orm,Fluent Nhibernate,Mapping,NHibernate似乎支持一对一映射的特殊情况(不需要在关系的每一侧都进行1-m映射) 见Ayende的这篇文章: 我不知道如何在Fluent NHibernate中指定这一点-这可能吗?一种情况是使用子类。您可以为每个层次结构或每个类指定一个表 您需要覆盖每个层次结构,如下所示: public class UserMap : IAutoMappingOverride<User> { public void Override(AutoMapping<
我不知道如何在Fluent NHibernate中指定这一点-这可能吗?一种情况是使用子类。您可以为每个层次结构或每个类指定一个表 您需要覆盖每个层次结构,如下所示:
public class UserMap : IAutoMappingOverride<User>
{
public void Override(AutoMapping<User> mapping)
{
mapping.DiscriminateSubClassesOnColumn<int>("UserType");
}
}
public void Override(AutoMapping<Person> mapping)
{
mapping.Table("Persons");
DiscriminatorValue((int)UserTypes.Person);
}
public类UserMap:IAutoMappingOverride
{
公共无效替代(自动映射)
{
DiscriminateSubClassesOnColumn(“用户类型”);
}
}
公共无效替代(自动映射)
{
映射表(“人员”);
鉴别器值((int)UserTypes.Person);
}
啊,刚从流利小组中的一位乐于助人的人那里找到,我可以使用
HasOne(x => x.Cover);
之前不知怎么错过了://谢谢。我希望有一种不那么复杂的方法:)我想这意味着两个对象之间必须存在继承关系?我真的不想那样做。