2011-10-05 62 views
1

我正在向Id類型爲uniqueidenfier的表中插入一條記錄。我想要在SQL服務器上生成該Id,有點像使用newsequentialid使用Linq生成新時序ID

插入我使用的是像這樣InsertOnSubmit方法的記載:

SchedulerDataContext db = new SchedulerDataContext(); 
db.Courses.InsertOnSubmit(courseDomainModel); 
db.SubmitChanges(); 

更新:作爲回答說,我需要設置「默認值或綁定」屬性的列到NEWID() 。這是它的截圖供參考。

enter image description here

回答

2

從MSDN鏈路以上

NEWSEQUENTIALID()只能與UniqueIdentifier類型的表中的列DEFAULT約束使用。

當在DEFAULT表達式中使用NEWSEQUENTIALID()時,它不能與其他標量運算符組合使用。

NEWSEQUENTIALID()不能在查詢中引用。

這意味着你不能從LINQ中設置它,你需要把它放在表定義中。

+0

正確。只是fyi,SQL服務器不喜歡將缺省值設置爲NEWSEQUENTIALID(),所以我使用了NEWID()。至少在SQL Express 2008 R2的設計者中是這樣。謝謝。 –