【问题标题】:How to convert SQL Query to Lambda Expression如何将 SQL 查询转换为 Lambda 表达式
【发布时间】:2016-05-17 09:49:21
【问题描述】:

这是我的 SQL 查询:

SELECT
  UserName,
  IsApproved
FROM aspnet_Users u
INNER JOIN aspnet_Membership m
  ON u.UserId = m.UserId

谁能帮我写 lambda 表达式?

【问题讨论】:

    标签: sql asp.net-mvc lambda


    【解决方案1】:
    from u in aspnet_Users 
    join m in aspnet_Membership on u.UserId equals m.UserId
    select new { u.UserName, m.IsApproved };
    

    【讨论】:

      【解决方案2】:

      试试这个..

      from u in context.aspnet_Users 
      join m in context.aspnet_Membership on u.UserId equals m.UserId select new { u.UserName, m.IsApproved};
      

      【讨论】:

      • 如果会是这样,会怎么样? select UserName, IsApproved from aspnet_Users u inner join aspnet_Membership m on u.UserId = m.UserId where u.UserName = @UserName
      • 会是,选择u.UserName,m.IsApproved from aspnet_Users u inner join aspnet_Membership m on u.UserId = m.UserId where u.UserName = @UserName
      【解决方案3】:

      您可以将JOIN 与类似这样的 Lambda 表达式一起使用,

      var result = aspnet_Users
                      .Join(aspnet_Membership, 
                      u => u.UserId, 
                      m => m.UserId, 
                      (u, m) => new
                   {
                      UserName = u.UserName,
                      IsApproved = u.IsApproved
                   }
                  );
      

      【讨论】:

        【解决方案4】:

        这个查询怎么样:

        选择用户名,IsApproved 来自 aspnet_Users 你 内部加入 aspnet_Membership m on u.UserId = m.UserId 其中 u.UserName = @UserName

        在这种情况下,“哪里”应该放在哪里? @UserName 是我在其中定义的字符串参数 公共 ActionResult 用户激活(字符串用户名) { ... }

        【讨论】:

          猜你喜欢
          • 2020-10-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-07-15
          • 1970-01-01
          相关资源
          最近更新 更多