【发布时间】:2021-01-25 16:50:07
【问题描述】:
我正在尝试使用 lambda 表达式在子查询中使用聚合函数执行 groupby。我已设法使用 SQL 编写查询,但未能使用 Lambda 表达式执行相同的操作。我们如何使用 Lambda 或 LINQ 编写相同的查询
select
[user_ID], FirstName, LastName, Phone, Fax, EmailAddress
from table1
where [user_id] in
(select [user_id]
from table2 group by [USER_ID]
having (sum(case when isregistered is not null then 1 else 0 end)) = 0
)
下面是模型表示
public class AccountDetails
{
public string Username { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Phone { get; set; }
public string Fax { get; set; }
public string EmailAddress { get; set; }
public bool? IsRegistered { get; set; }
public string User_Id { get; set; }
}
【问题讨论】:
-
完全相同还是结果相同? ;)
-
也许我的SQL to LINQ Recipe 可以帮助你。
-
顺便说一句,告诉你正在使用什么 LINQ 真的很有帮助:LINQ to SQL / EF 6.x / EF Core 2.0 / 2.1 / 3.x / 5.x 以及什么数据库提供程序。
-
table1和table2实际上是同一张表吗?如果不是,这两个表的模型在哪里?