【发布时间】:2010-04-06 06:06:56
【问题描述】:
我找不到这个特定问题的答案。我试图保持我的域模型面向对象并在可能的情况下重用对象。我在确定如何从单行提供到多个类的映射时遇到问题。让我用一个例子来解释:
我有一张桌子,叫它客户。一个客户有几个属性;但是,为简洁起见,假设它具有 Id、Name、Address、City、State、ZipCode。
我想创建一个如下所示的客户和地址类:
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;}
}
我遇到的问题是确定 Customer 类中 Address 类的映射是什么。没有地址表,也没有与客户关联的地址“集”。我只想在代码中对 Customer 表有一个更加面向对象的视图。还有其他几个表中包含地址信息,如果有一个可重用的地址类来处理它们会很好。地址不共享,因此将所有地址用外键拆分成一个单独的表似乎有点过头了,实际上更痛苦,因为我需要多个表的外键。
有人可以告诉我这种类型的映射吗?可以的话请举个例子。
感谢您的任何见解!
-迈克
【问题讨论】:
标签: nhibernate fluent-nhibernate nhibernate-mapping