在下面的代碼中,我不相信我正在更改外鍵,但我可能是錯的。當我運行它,我得到異常:ForeignKeyReferenceAlreadyHasValueException當不嘗試更改外鍵?
ForeignKeyReferenceAlreadyHasValueException
下面是代碼:
UsersModule um = dc.UsersModules.Where(x => x.UserId == IdParam).FirstOrDefault();
int oldModuleId = um.ModuleId;
string oldModule = um.Module.ModuleName;
將引發錯誤就行了:
string oldModule = um.Module.ModuleName
我不知道爲什麼我得到這個錯誤,因爲我只是試圖存儲值o f ModuleName
轉換爲字符串oldModule
,不改變um.Module.ModuleName
嘗試查看清單文件.dbml後面的生成代碼文件。假設您使用設計器來添加L2S類。試着看看是否有異常投入獲得者。 – 2010-07-30 14:46:11
我看了看,它被扔進了geter。 – Xaisoft 2010-07-30 14:46:48
我輸了。我試圖重現這個沒有運氣。我製作了兩張桌子,其中一張帶有一個外鍵。說B - > A.然後我從B得到一個項目,並嘗試通過B ojebct訪問A對象並讀取As name(非關鍵字)。像這樣B b = dc.Bs.First();字符串s = b.A.Name;它的工作.. – 2010-07-30 15:01:37