2010-10-02 40 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