我想使用LINQ查询在一行中更新两列DataTable.目前我正在使用以下两行来做同样的事情:
oldSP.Select(string.Format("[itemGuid] = '{0}'", itemGuid)).ToList<DataRow>().ForEach(r => r["startdate"] = stDate);
oldSP.Select(string.Format("[itemGuid] = '{0}'", itemGuid)).ToList<DataRow>().ForEach(r => r["enddate"] = enDate);
Run Code Online (Sandbox Code Playgroud)
如何在一行中使用一个Select?
Ser*_*kiy 30
您可以在一个"行"中执行此操作,只需将适当的操作委托传递给ForEach方法:
oldSP.Select(string.Format("[itemGuid] = '{0}'", itemGuid))
.ToList<DataRow>()
.ForEach(r => {
r["startdate"] = stDate;
r["enddate"] = enDate;
});
Run Code Online (Sandbox Code Playgroud)
你也可以使用LINQ to DataSet(看起来比单行更易读):
var rowsToUpdate =
oldSP.AsEnumerable().Where(r => r.Field<string>("itemGuid") == itemGuid);
foreach(var row in rowsToUpdate)
{
row.SetField("startdate", stDate);
row.SetField("enddate", enDate);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53074 次 |
| 最近记录: |