当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《LINQ插入后我可以返回'id'字段吗?》经验,为你挑选了2个好方法。

当我使用Linq-to SQL将对象输入到数据库中时,是否可以获取刚插入的ID而不进行另一次数据库调用?我假设这很容易,我只是不知道如何.



1> Germstorm..:

将对象提交到db后,对象在其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;


也许你需要将你的字段设置为"数据库生成"和"插入时更新"才能使用.

2> Jason Steven..:

插入生成的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

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有