0

我有一個LINQ到SQL表/類使用GUID作爲主鍵和外鍵。 將以前的一些代碼因式分解時出現此問題。LINQ到SQl更新主鍵字段?

生成的異常是

「操作無效由於對象的當前狀態」。

我使用的過程是這樣:

aspnet_User user() = new aspnet_User(); 
aspnet_user.childTable = new childTable(); 
.. set some properties 
user.Insert() -> my custom method 

... // @我的自定義方法

using (mycontext dc = new context()) 
{ 
user.childTable.ID = (Guid)myNewlyCreatedGuid; 
} 

的賦值childTable.set_UserId()發生異常。

+0

這就是拋出異常: \t \t如果((this._UserId =值)!) \t \t \t { \t \t \t \t如果(this._aspnet_User.HasLoadedOrAssignedValue) \t \t \t \t { \t \t \t \t \t throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); \t \t \t \t} – 2010-04-05 19:19:15

+0

讓我補充一點,這也是一個新創建的參考。所以,我無法從數據庫加載對象。 – 2010-04-05 19:22:18

回答

1

只要你的模型正確定義的外鍵關係用戶和子表,您不必手動設置子表的主鍵。我掩蓋了爲什麼在接受的答案this question