Puis-je retourner le champ “id” après un insert LINQ?

Lorsque je saisis un object dans la firebase database avec Linq-to-SQL, puis-je obtenir l’ID que je viens d’insérer sans effectuer un autre appel db? Je suppose que c’est assez facile, je ne sais pas comment.

Après avoir validé votre object dans la firebase database, l’object reçoit une valeur dans son champ ID.

Alors:

myObject.Field1 = "value"; // Db is the datacontext db.MyObjects.InsertOnSubmit(myObject); db.SubmitChanges(); // You can resortingeve the id from the object int id = myObject.ID; 

Lors de l’insertion de l’ID généré est enregistré dans l’instance de l’object en cours de sauvegarde (voir ci-dessous):

 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.ToSsortingng(); } //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; } 

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