使用 lambda 表达式更新 linq 中的多个列
本文关键字:linq lambda 表达式 更新 使用 | 更新日期: 2023-09-27 18:32:07
我想使用 Linq
和 Lambda Expression
更新DataTable
中的记录。我可以更新一列,如下所示
dtProduct.AsEnumerable().Where(i => i.Field<long>("ProductId") == Convert.ToInt64(id)).First().SetField("Qty", qty);
不明白如何:(更新其他人。我最终为每列写了几次更新。
我最终为每列写了几次更新。
代码由两部分组成:
- 找到实例,以及
- 设置其字段。
您可以通过引入变量来重用查找实例的结果:
var inst = dtProduct.AsEnumerable().Where(i => i.Field<long>("ProductId") == Convert.ToInt64(id)).First();
现在,您可以多次调用SetField
:
inst.SetField("Qty", qty);
inst.SetField("Price", price);
inst.SetField("Weight", weight);
List<DataGridViewRow> rows1 =
dataGridView1.Rows.Cast<DataGridViewRow>()
.ToList()
.FindAll(x => (x.Cells["Select"].Value=1).ToString().Equals("1")?true:false);
我们试图找到一些东西,并伪装地为所有行设置一个值。
x.Cells["Select"].Value=1
我们最不关心它给出的输出,但我们为每列"选择"设置值的目标成功了。