Linq-to-SQL を使用して DB にオブジェクトを入力すると、別の db 呼び出しを行わずに挿入した ID を取得できますか? これはかなり簡単だと思いますが、方法がわかりません。
108093 次
3 に答える
272
オブジェクトをデータベースにコミットすると、オブジェクトは 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;
于 2008-09-22T09:15:39.563 に答える
16
生成された 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
于 2008-09-22T09:16:22.447 に答える