2008-09-22 18 views

Respuesta

248

Después de que usted ingresa su objeto en el db, el objeto recibe un valor en su campo ID.

Así:

myObject.Field1 = "value"; 

// Db is the datacontext 
db.MyObjects.InsertOnSubmit(myObject); 
db.SubmitChanges(); 

// You can retrieve the id from the object 
int id = myObject.ID; 
+1

Tal vez quiera necesita configurar su campo a "base de datos generada" y "actualizar al insertar" para que esto funcione. – Sam

+1

¡No, funcionó exactamente como se muestra arriba! – naspinski

+1

¿cómo hago esto en C# 4.0? no hay inserciónenviar o enviar cambios ?? –

14

Al insertar el ID generado se guarda en la instancia del objeto de ser salvado (véase más adelante):

protected void btnInsertProductCategory_Click(object sender, EventArgs e) 
{ 
    ProductCategory productCategory = new ProductCategory(); 
    productCategory.Name = “Sample Category”; 
    productCategory.ModifiedDate = DateTime.Now; 
    productCategory.rowguid = Guid.NewGuid(); 
    int id = InsertProductCategory(productCategory); 
    lblResult.Text = id.ToString(); 
} 

//Insert a new product category and return the generated ID (identity value) 
private int InsertProductCategory(ProductCategory productCategory) 
{ 
    ctx.ProductCategories.InsertOnSubmit(productCategory); 
    ctx.SubmitChanges(); 
    return productCategory.ProductCategoryID; 
} 

referencia: http://blog.jemm.net/articles/databases/how-to-common-data-patterns-with-linq-to-sql/#4

Cuestiones relacionadas