public class Item
{
public int ID {get;set;}
public string SKU {get;set;
public int Quantity {get;set;}
}
我拉項目從我的數據庫就像發現:更新項目集合如果在持久性集合
List<Items> savedItems = Db.GetItems();
然後我有這樣的方法來獲取項目的集合:
public void Update(List<Items> items)
{
// update database
}
的傳遞到可能已經或可能不在數據庫中的Update方法項目的項目。唯一性必須使用SKU屬性完成。
所以說,我在數據庫:
ID SKU qty
1 a 1
2 b 1
3 c 1
現在,如果我通過一個項目收集到的更新方法,即有:
ID=?, SKU=d, qty=1
然後它只是插入一個新的項目。
如果我通過在看起來像一個項目:
ID=?, SKU=b, qty=1
那麼我不會插入一個新的項目,但我將更新ID = 2的項目。
我該怎麼做?我應該把所有的SKU值放到一個散列中,如果它存在,那麼以某種方式找到它並更新它?
我會找到沒有數據庫查找的項目,因爲我已經從數據庫中提取了項目。
如果該項目已經在數據庫中,我必須更新數量。如果它不在數據庫中,它就會被插入。
我正在使用nhibernate :)只是沒有設置它來做到這一點,看起來很複雜。好的,我只是將我的項目填充到字典中,並檢查重複的方式,謝謝! – mrblah 2009-12-28 22:52:54