我有一些C#代碼看起來像下面的示例時失敗:無聲經由LINQ更新行爲sql
foreach (car c in listOfCars) {
c.garage.last_opened_at = DateTime.Now;
}
db.SubmitChanges();
基本上,cars
和garages
是在一對一的關係(一個有點瑕疵例如,我知道),並且我正在更新每個車庫上次打開的時間。
但是,當我檢查數據庫時,last_opened_at
字段沒有被更新(沒有錯誤消息正在顯示)。任何建議爲什麼?我環顧了SO和Google,我看到的解決方案都提到需要一個主鍵。但我仔細檢查了一下,我的表的確將其外鍵用作其主車鑰匙。
問題是主鍵也加倍作爲外鍵(即,我是否需要專用的主鍵列)?
我很好奇:如果你這樣做,你會得到不同的結果:「foreach(listOfCars.Select(c => c.garage)中的車庫g)」 – 2011-04-25 23:58:35
@Andrew,nope,同樣的事情發生。 – grautur 2011-04-26 21:14:34