我想在C#
中将此sql查询转换为Linq select distinct(E.Nombre), E.Puesto,E.Telefono,E.Correo1,E.Correo2
from dbo.CCEscalaMando E
Example output 我该怎么办?
答案 0 :(得分:1)
让我们从你的SQL开始:
select distinct(E.Nombre), E.Puesto,E.Telefono,E.Correo1,E.Correo2
from dbo.CCEscalaMando E
技术上哪个是有效的,但是它的编写方式使它看起来像是在做一些事情。以上将执行与
完全相同的操作SELECT DISTINCT E.Nombre, E.Puesto, E.Telefono, E.Correo1, E.Correo2
FROM dbo.CCEscalaMando E
括号使它看起来像是在调用一个独特的函数,而实际上你只是使用了SELECT DISTINCT,并且你只是无条件地将第一列放在括号中。您可以将所有列放在括号中,但它对distinct:
有影响select distinct (E.Nombre), (E.Puesto), (E.Telefono), (E.Correo1), (E.Correo2)
from dbo.CCEscalaMando E
现在我们已经删除了您的混淆位,它很容易转换:
dbContext.CCEscalaMando.Select(e=>new {
e.Nombre,
e.Puesto,
e.Telefono,
e.Correo1,
e.Correo2})
.Distinct();