我这里有一个诡异的情况。
我做了一个合并订单的操作,例如A与B合并,那么就会生成一笔C,C的订单项是A,B的集合。现在的问题是,一但我合并订单后,A或B中的订单项就奇葩的消失了。
合并订单操作:
直到return之前,对象上的数据都还存在,一旦跳出了此方法,在页面上刷新查看后,就发现某条订单项丢失了。查看日志发现,后面执行了删除操作。
NH日志:
GetDeliveryItems方法:
这里先不管代码写的如何,我所执行到的都没跳到else里去。
LocalDelivery方法:
此方法有2个作用,1是记录合并后生成的单号,第二个是将单据标记为已合并,不可再次合并。
DeliveryOrder配置:
DeliveryItem配置:
求各位NH大神帮忙看看,我要的是复制A与B的项到C,而不是剪切A或B到C。
来顶下..不会NH的路过....
我要面壁思过,我今天罚我自己不吃饭了。这么2的低级错误居然没发现。我该死!
问题出在GetDeliveryItems这个方法内,请看前后对比。
修改之后:
.发现了么,我把订单2的项直接追加到返回结果里去了,这里只是引用,所以NH自动关联了订单2,而NH的配置是如此,所以订单2的项被删除了;这里将订单2的项复制给一个实例后的对象,然后再追加给返回结果,那么就和订单2脱离了关系,所以订单2的项保留了下来。