Mic*_*rtz 1 nhibernate nhibernate-mapping fluent-nhibernate
我找不到这个具体问题的答案.我试图保持我的域模型面向对象并尽可能重用对象.我在确定如何从单行提供到多个类的映射时遇到问题.让我用一个例子来解释一下:
我有一张桌子,称之为客户.客户有几个属性; 但是,为简洁起见,假设它有Id,Name,Address,City,State,ZipCode.
我想创建一个如下所示的Customer和Address类:
public class Customer {
public virtual long Id {get;set;}
public virtual string Name {get;set;}
public virtual Address Address {get;set;}
}
public class Address {
public virtual string Address {get;set;}
public virtual string City {get;set;}
public virtual string State {get;set;}
public virtual string ZipCode {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是确定Customer类中Address类的映射.没有地址表,也没有与客户关联的"一组"地址.我只想在代码中使用更面向对象的Customer表视图.还有其他几个表中包含地址信息,有一个可重用的Address类来处理它们会很不错.地址不是共享的,所以将所有地址分成带有外键的单独表似乎有点矫枉过正,实际上,由于我需要多个表的外键,因此更加痛苦.
有人可以在这种类型的映射上启发我吗?如果可以的话请提供一个例子.
感谢您的任何见解!
-麦克风
您应该在NHibernate映射文件中使用Component.例如:
<class name="Customer"
table="Customer">
<id name="Id">
<generator class="identity"/>
</id>
<property name="Name" />
<component name="Address">
<property name="Address"/>
<property name="City"/>
<property name="State"/>
<property name="ZipCode"/>
</component>
</class>
Run Code Online (Sandbox Code Playgroud)
在Ayende的博客中可以阅读更多内容.
| 归档时间: |
|
| 查看次数: |
1345 次 |
| 最近记录: |