我想更新/编辑详细信息,然后将这些详细信息逐行保存到表格中。为此,我刚刚创建了 Linq 查询
AB_Product_vs_Field insertproductvalue = new AB_Product_vs_Field();
for (int i = 0; i < product.ListProductFields.Count; i++)
{
insertproductvalue.Product_ID = product.Product_ID;
insertproductvalue.Field_ID = product.ListProductFields[i].Field_ID;
insertproductvalue.Field_Value_EN = product.ListProductFields[i].Field_Value_EN;
insertproductvalue.Field_Value_AR = product.ListProductFields[i].Field_Value_AR;
db.Entry(insertproductvalue).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
};
但随后出现以下错误
The property 'Field_ID' is part of the object's key information and cannot be modified.
最佳答案
正如 Stephen Muecle 所说:
for (int i = 0; i < product.ListProductFields.Count; i++)
{
AB_Product_vs_Field insertproductvalue = new AB_Product_vs_Field();
insertproductvalue.Product_ID = product.Product_ID;
insertproductvalue.Field_ID = product.ListProductFields[i].Field_ID;
insertproductvalue.Field_Value_EN = product.ListProductFields[i].Field_Value_EN;
insertproductvalue.Field_Value_AR = product.ListProductFields[i].Field_Value_AR;
db.Entry(insertproductvalue).State = System.Data.Entity.EntityState.Modified;
};
db.SaveChanges();
您还应该注意到我将 SaveChanges
移到了循环之外。这更好,因为所有更改都将立即提交或不提交(如果您有错误)。
关于c# - 在 C# 中使用 for 循环逐行更新表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34150041/