asp.net - linq 中的 switch 语句

标签 asp.net linq

我使用 linq 进行 sql 连接的代码是:

var query1 = from u in dc.Usage_Computers
          where u.DomainUser == s3
          select u; // selects all feilds from table

GridView1.DataSource = query1;
GridView1.DataBind();

我在“Domainuser”表中有一个名为“Operation”的字段,它的值类似于“1、2、3”。当我将这些值填充到数据网格时,我想将它们转换为有意义的值,例如如果 Operation 的值为 1,则在数据网格中显示为“登录”,如果为 2,则为“注销”等...

从数据库中检索后如何为它们分配值?

最佳答案

这种技术似乎并不特别适用于您的问题,但无论如何都在这里。

您可以使用 C# 在 LinqToSql 中创建 SQL case 语句。 ? :运算符(operator)。

var query1 =
  from u in dc.Usage_Computers
  where u.DomainUser == s3
  select new {usage = u, 
    operation =
      u.DomainUser.Operation == 1 ? "login" :
      u.DomainUser.Operation == 2 ? "logoff" :
      "something else"
  };

关于asp.net - linq 中的 switch 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/209924/

相关文章:

c# - 如何在不进行广泛搜索的情况下根据 2 个条件获取对象?

c# - 使用 C# 以编程方式分配对文件夹的网络服务访问权限

c# - 使用自动生成的列设置 gridview 列的位置

c# - 如何使用 C# 在 Nlog 中动态禁用特定日志?

c# - 从 SqlCommand 对象发送什么 SQL

c# - LINQ 的 left-join `join ... into` 和 `DefaultIfEmpty()` 是如何工作的?

c# - 如何使用 C# 在嵌套网格中获取按钮查找控件值

C# LINQ - 将嵌套字典转换为列表

c# - 使用 Entity Framework、LINQ 进行预加载

c# - 使用 Entity Framework 异步删除行