我有两个班级:
public class Code
{
public virtual Guid CodeId { get; set; }
public virtual string CodeValue { get; set; }
public virtual Guid EntryId { get; set; }
}
public class Entry
{
public virtual Guid EntryId { get; set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
public virtual string Address { get; set; }
public virtual string Address2 { get; set; }
public virtual string City { get; set; }
public virtual string State { get; set; }
public virtual string Zip { get; set; }
public virtual string Email { get; set; }
public virtual string Phone { get; set; }
public virtual string IpAddress { get; set; }
public virtual DateTime BirthDate { get; set; }
public virtual DateTime Created { get; set; }
public virtual bool OptIn { get; set; }
public virtual Code Code { get; set; }
}
我希望nhibernate自动加载/保存Entry对象的Code子属性(可以为null并由代码表中的外键“EntryId”链接),但我无法弄清楚映射。 hibernate.org上的文档现在没有为我加载,所以有人可以通过下面的映射指出我正确的方向吗?
<class name="Code" table="Codes">
<id name="CodeId">
<generator class="guid.comb"/>
</id>
<property name="CodeValue" />
<property name="EntryId"
</class>
<class name="Entry" table="Entries">
<id name="EntryId">
<generator class="guid.comb"/>
</id>
<property name="FirstName" />
<property name="LastName" />
<property name="Address" />
<property name="Address2" />
<property name="City" />
<property name="State" />
<property name="Zip" />
<property name="Email" />
<property name="Phone" />
<property name="BirthDate" />
<property name="OptIn" />
<property name="IpAddress" />
<property name="Created" />
</class>
答案 0 :(得分:0)
我相信这篇文章很好地描述了这些可能性: http://ayende.com/Blog/archive/2009/04/19/nhibernate-mapping-ltone-to-onegt.aspx
您只需要“模拟”双向性,但这很容易被遗漏。