LINQ插入后可以返回'id'字段吗?

当我用Linq-to-SQL将一个对象input到数据库中时,我可以得到我刚刚插入的ID,而不用再调用另一个数据库。 我假设这很容易,我只是不知道如何。

在将对象提交到数据库之后,对象将在ID字段中接收一个值。

所以:

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; 

当插入生成的ID保存到正在保存的对象的实例(见下文):

 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; } 

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