2009-04-30 25 views
17

estoy usando LINQ a SQL para insertar datos simples en una mesa sin stored procedure. La tabla tiene una columna de ID de clave principal, que se establece como una columna IDENTIITY en SQL Server y en mi DBML.LINQ a SQL - ¿Cómo encontrar el valor de la columna IDENTITY después InsertOnSubmit()

Primero llamo al InsertOnSubmit(); con los datos de una sola fila, y luego llamo al SubmitChanges(); para enviar la fila a la base de datos. Pero creo que debe haber una manera simple de recuperar el valor de la columna IDENTITY de la fila recién insertada. No deseo proporcionar el valor de columna IDENTITY a la base de datos, quiero que genere uno para mí.

¿Cómo se maneja mejor?

Respuesta

27

aquí es un código simple fragmento de código

  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) 

así, básicamente, el objeto que ha utilizado en InsertOnSubmit obtendrá el campo de identidad poblada después de que el registro se ha creado en la base de datos

+1

excelente, gracias! –

+0

contento, podría ayudar – Vikram

+0

Sooper, gracias Vikram :) – TechieBrij

Cuestiones relacionadas