我有一个包含许多 OrderItems 的订单映射。当我只保存订单时,映射正确地将订单和订单项目保存到数据库中,但是当我重新加载该订单时,订单包含的订单项目列表填充了空值(对于所有其他订单项目表),直到它到达具有 Order 外键的 OrderItem。因此,空订单商品的总计数是 OrderItems 表的行数(不包括与订单相关的实际订单商品)。这是我的映射:
命令:
<list name="OrderItems" table="OrderItems" cascade="all" inverse="true" >
<key column="OrderID"/>
<index column="OrderItemID" />
<one-to-many class="OrderItem" not-found="ignore" />
</list>
订单项:
<many-to-one name="Order" class="Order" column="OrderID" not-null="true" />
这是 Order 的类实现:
public class Order : {
private IList<OrderItem> orderItems = new List<OrderItem>();
我读到 nHibernate 不支持列表作为关系的许多部分,但保存工作正常,只是不支持加载。我是否必须将所有内容都转换为 Sets 才能使其正常工作?