小编pie*_*mes的帖子

Linq 用另一个值替换列值

好吧,我正在执行 linq 查询以获取具有相同列的结果列表,然后我需要用新值替换该列值。

第一个代码:

var db = GetContext();
var result = from f in GetContext().ProjectStateHistories
             where f.ProjectId.Equals(oldProjectId)
             select f;

foreach (var item in result)
{
     var projectStateHistoryUpdate = db.ProjectStateHistories.Find(item.Id);
     projectStateHistoryUpdate.ProjectId = newProjectId;
     db.Entry(projectStateHistoryUpdate).State = EntityState.Modified;
}
db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

我搜索了一些答案,我发现我可以使用 Select,并创建一个新对象(Linq 用另一个值替换 null/空值

第二个代码:

var result = (from f in GetContext().ProjectStateHistories
              where f.ProjectId.Equals(oldProjectId)
              select f).Select(d=> new { Id = d.Id, EventName = d.EventName, LogUser = d.LogUser, ProjectId = newProjectId, TimeStamp = d.TimeStamp });
Run Code Online (Sandbox Code Playgroud)

甚至,第三个代码:

var db = GetContext();
var result …
Run Code Online (Sandbox Code Playgroud)

c# linq replace

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×1

linq ×1

replace ×1