我正在創建一個方法在我的數據訪問類,它將插入一個實體對象到數據庫,我期待得到最新插入的ID事後...我已經這樣做了,但後來我想知道如果方法在某種程度上被同時調用兩次,會發生什麼,它會返回錯誤的ID嗎?C#/ Linq-to-sql - Lock datacontext.Table on insertonsubmit
所以作爲工作周圍,我決定鎖定在我的DataContext表:
lock(dataContext.Persons)
{
InsertOnSubmit(person);
dataContext.SubmitChanges();
}
但我不覺得這是不恰當的。我的意思是,表心不是很大,它不會採取對數據上下文提交更改......所以我的問題是,通過鎖定它會遇到什麼樣的麻煩? PS:讓我知道如果我的問題不夠清楚,我會編輯它!
好的,謝謝..但你知道如果我有這個鎖,可能會出錯嗎? – BSarkis
@BSarkis:不知道你的意思是_go wrong_。你並沒有阻止任何人在這個鎖之外觸及那個表,你只保護這個代碼塊不受併發的影響。 – Marc
我明白了,那是我正在尋找的那種答案,再次感謝你。 – BSarkis