首页 新闻 搜索 专区 学院

NHibernate求复制+黏贴配置

0
悬赏园豆:100 [已关闭问题] 关闭于 2013-11-06 11:33

我这里有一个诡异的情况。
     我做了一个合并订单的操作,例如A与B合并,那么就会生成一笔C,C的订单项是A,B的集合。现在的问题是,一但我合并订单后,A或B中的订单项就奇葩的消失了。

合并订单操作:

直到return之前,对象上的数据都还存在,一旦跳出了此方法,在页面上刷新查看后,就发现某条订单项丢失了。查看日志发现,后面执行了删除操作。

NH日志:

GetDeliveryItems方法:

这里先不管代码写的如何,我所执行到的都没跳到else里去。

LocalDelivery方法:

此方法有2个作用,1是记录合并后生成的单号,第二个是将单据标记为已合并,不可再次合并。

DeliveryOrder配置:

DeliveryItem配置:

求各位NH大神帮忙看看,我要的是复制A与B的项到C,而不是剪切A或B到C。

Jolinfish的主页 Jolinfish | 初学一级 | 园豆:109
提问于:2013-11-05 10:33
< >
分享
所有回答(3)
0

来顶下..不会NH的路过....

张小凡 | 园豆:202 (菜鸟二级) | 2013-11-05 10:43
0
【秦时明月】 | 园豆:803 (小虾三级) | 2013-11-05 13:05
0

我要面壁思过,我今天罚我自己不吃饭了。这么2的低级错误居然没发现。我该死!

问题出在GetDeliveryItems这个方法内,请看前后对比。

修改之后:

.发现了么,我把订单2的项直接追加到返回结果里去了,这里只是引用,所以NH自动关联了订单2,而NH的配置是如此,所以订单2的项被删除了;这里将订单2的项复制给一个实例后的对象,然后再追加给返回结果,那么就和订单2脱离了关系,所以订单2的项保留了下来。

Jolinfish | 园豆:109 (初学一级) | 2013-11-06 11:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册