首页 > 解决方案 > 用 linq 查找和替换列表的结果

问题描述

有没有办法在执行 linq 语句后用另一个结果替换一个结果的值?是在我的 ** Status ** 的 linq 语句中,有一些结果是“PendingForApprover”,但我想用“Pending forapprover”替换它,我希望在获得结果后,你可以使用查找并基于该替换值,之前在我的模型中,我使用带有显示名称的数据注释,但由于该结果我将其转换为 JSON,然后它将由服务器端带来该方法不起作用

y 分享我的句子 LINQ

  var result = db.document.Select(d => new DocumentViewModel
  {
   DocumentId = d.DocumentId,
   Name = w.name
   ReceivedLogs = d.Logs
   Status = w.Status.toString(),
  .Where(l => l.Status == Status.Received)
  .Select(l => new LogViewModel
  {
     CurrentApprover = l.User,
     NameApprover = l.User.FullName
  }).FirstOrDefault()
  }).ToList();

谢谢

标签: c#asp.netasp.net-mvcentity-frameworklinq

解决方案


您是否尝试过Switch expressions它是一个非常清晰的解决方案,您可以将其集成到您的LINQ查询中。


Status = w.Status switch
{
    Status.StatusOne => "Status One",
    Status.PendingForApprover => "Pending for approver",
    _ => "Unknown"
}


推荐阅读