2011-01-22 49 views
0

我有一个父对象称为请求,并呼吁RequestDate如何不担心孩子的对象(名单)在NHibernate的

一个请求RequestDates

列表的子对象

我想映射,所以当我:

  1. 保存家长,它可以节省所有的儿童
  2. 父对象更新列表(删除一些项目并添加一些新项目)并保存父项更新子项
  3. 删除父项将删除所有子项。

这是可能的。我尝试使用这个语法,但它似乎不工作:

HasMany(x => x.RequestDates) 
    .AsBag() 
    .Inverse() 
    .Cascade.AllDeleteOrphan() 
    .Fetch.Select() 
    .BatchSize(80); 

的问题是围绕#2。什么是更新项目列表的方式。我打电话给Remove()去掉一些,然后调用Add()来添加新的

+0

哪部分不工作?这就是你如何做AFAIK。发布您的对象和RequestDate映射。 – Vadim 2011-01-22 15:17:28

回答

4

您已将您的集合配置为Inverse,这意味着“另一方”(即RequestDate中的References)负责管理关系。

因此,您需要在RequestDate中设置对请求的引用。

如果你没有这样的属性,然后删除Inverse()电话。但NH会做一个插入NULL和UPDATE,这可能不是你想要的。