Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将此查询转换为Linq?_C#_Sql_Linq - Fatal编程技术网

C# 如何将此查询转换为Linq?

C# 如何将此查询转换为Linq?,c#,sql,linq,C#,Sql,Linq,我想将此sql查询转换为C中的Linq# 我该怎么做?让我们从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

我想将此sql查询转换为C中的Linq#


我该怎么做?

让我们从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
括号使它看起来像是在调用一个distinct函数,而实际上您只是使用SELECT 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();

显示一些示例输入和预期输出。我只是编辑了帖子并添加了一张图片。我的答案有问题吗?.Distinct()它不起作用,句子显示所有数据而没有Distinc:(这显示557行var lista=agp.cc15escalamando().Select(e=>new{e.Nombre,e.Puesto,e.Telefono,e.Correo1,e.Correo2})。Distinct().选择(x=>new UsariNotificationViewModel{Nombre=x.Nombre,Puesto=x.Puesto,Telefono=x.Telefono,Correo1=x.Correo1,Correo2=x.Correo2});sql查询555行可能是字段中有尾随空格,或者一行或多行大小写混合。在sql中,这些行将组合在一起,但默认情况下不会在LINQ中。
dbContext.CCEscalaMando.Select(e=>new {
  e.Nombre,
  e.Puesto,
  e.Telefono,
  e.Correo1,
  e.Correo2})
.Distinct();