0
我有Customer,CustomerGroups,Groups表。客戶與客戶組有1:n,客戶組與客戶組有1:n。在創建客戶屏幕中,用戶可以選擇現有客戶的羣組信息。所以,當我創建一個新顧客,我從現有客戶中檢索組和添加他們NHibernate的更新問題
///
Customer cust = new Customer();
foreach(var item in getothercustomergroups())
cust.groups.add(item);
commit
此代碼生成更新語句,並與新加入的客戶ID更新customergroups表,而不是用新的客戶ID插入新記錄。由於這一點,所有與prev。顧客走了。任何人都可以請解釋這種行爲。
是的,似乎是這樣。現在通過這種方式工作。客戶cust =新客戶(); 的foreach cust.groups.add(在getgroupsofexistingcustomer(ID)VAR項)(新的組(){名稱= 「測試」,DESC = 「測試」}); 承諾 但我對其他n:n關係的相同方法有問題。我在映射中指定了一個表關聯表,並且當我直接添加對象時,即不創建像order.items.add(item)這樣的新對象,它將被插入到關聯實體中而沒有任何問題。這怎麼可能? – Sunny