通过代码进行nhibernate映射:使用具有一对多关系的接口

本文关键字:一对多 关系 接口 代码 映射 nhibernate | 更新日期: 2023-09-27 18:24:17

在fluent nhibernate中,我可以设置对实现如下接口的具体类的引用:

class Address : IAddress {
...
}
class Person {
    public virtual IAddress Address {get;set;}
}
...
class PersonMap : ClassMap<Person> {
    public PersonMap() {
        References<Address>(x => x.Address).Column("AddressId");
        ...
    }
 }

有没有用nhibernate使用代码内映射来实现这一点?

谢谢!

通过代码进行nhibernate映射:使用具有一对多关系的接口

你的意思是通过喋喋不休的映射,对吧?是这样做的:

using NHibernate;
using NHibernate.Mapping.ByCode;
using NHibernate.Mapping.ByCode.Conformist;
public class PersonMapping : ClassMapping<Person>
{
    public PersonMapping()
    {
        ...
        ManyToOne(x => x.Address, map =>
                                   {
                                       map.Column("AddressId");                                           
                                       map.Class(typeof(Address));
                                   }
            );
       ...
    }
}