Linq to SQL - 如何在InsertOnSubmit()之后找到IDENTITY列的值

时间:2009-04-30 19:04:52

标签: sql linq linq-to-sql identity-column

我正在使用 LINQ to SQL 将简单数据插入到没有stored procedure的表中。该表有一个主键ID列,在IDENTITYSQL Server中都设置为DBML列。

首先,我使用单行数据调用InsertOnSubmit();,然后调用SubmitChanges();将行提交给数据库。但我认为必须有一种简单的方法来检索新插入行的行IDENTITY列值。我不希望向db提供IDENTITY列值,我希望它为我生成一个。

如何最好地处理?

1 个答案:

答案 0 :(得分:27)

这是一个简单的代码段

            Dim odb As New DataClassesDataContext
            Dim tst As New test
            tst.name = "abcd"
            odb.tests.InsertOnSubmit(tst)
            odb.SubmitChanges()
            Response.Write("id:" + tst.id.ToString)

所以,基本上你在InsertOnSubmit中使用的对象将在数据库中创建记录后填充身份字段