2010-10-02 41 views
3

嘿,即時通訊嘗試添加數據到我的sqlserver通過使用Linq To Sql, 在表中,數據設計得到NEWID()時插入新行, 但linq以sql忽略它和單元格爲空,Linq To Sql:處理NewID()

謝謝!

回答

8

這聽起來像你希望在插入時爲你自動生成一個guid值。聽起來這個專欄有DEFAULTNewID()

在您的LINQ To SQL模型中,導航到表格的屬性,該屬性的值是自動生成的。右鍵單擊屬性,並確保自動生成值的屬性設置爲True。這將確保生成的INSERT語句不包含此表屬性的值。

alt text

然後你就可以用默認的自動根值來訪問新的屬性爲這樣:

Customer c = new Customer{FirstName="foo"}; 
db.Customers.InsertOnSubmit(c); 
db.SubmitChanges(); 
string someGuid = c.MyGuidField.ToString(); 
+0

謝謝!簡單而完美的解決方案 – 2010-10-02 23:10:33

+0

@羅伊:謝謝。 +1爲你的好問題upvote。當然,其他很多人都遇到過這個問題,並會從你的問題中受益。 – 2010-10-02 23:24:21