1
我有這個表:是什麼導致此成員AutoSync失敗?
create table dbo.NotificationsIn
(
NotificationID varchar(18) primary key,
ArrivalTime datetime not null default getdate()
)
我插入到這樣的:
public void InsertNotification(NotificationsIn notification)
{
db.NotificationsIns.InsertOnSubmit(notification);
db.SubmitChanges();
}
其中db是一個LINQ的DataContext。
我得到下面的異常後,我插入一個新的記錄:
System.InvalidOperationException:會員自動同步失敗。爲使成員在插入後自動同步,該類型必須具有自動生成的標識或插入後數據庫未修改的鍵。
在dbml中,我設置了ArrivalTime屬性AutoGenerated = True和Auto-Sync = OnInsert。我也嘗試過自動同步=從不,但結果是一樣的。
任何想法,爲什麼我得到這個異常? 謝謝。
數據庫是sql server 2k8。我無法使NotificationID成爲身份,因爲它的價值很重要;它由外部系統提供。 – Eric 2010-09-13 18:44:12
然後更好的解決方案是調用Refresh方法。 AutoSync屬性旨在用於自動生成的屬性,Refresh不具有此限制。 http://msdn.microsoft.com/en-us/library/system.data.linq.datacontext.refresh.aspx – Devart 2010-09-14 13:17:15
但NotificationID的Auto-Sync屬性已設置爲從不。 ArrivalTime設置爲自動同步OnInsert,但它是自動生成的。 – Eric 2010-09-14 13:25:28