SQL Server到Linq具有独特的内部联接

时间:2015-11-07 18:54:51

标签: c# .net sql-server linq

我正试图让这个查询起作用,但我不能。我对实体和linq很新。感谢

select distinct 
    Usuario.idUsuario, 
    Usuario.Nombre, 
    Usuario.DNI 
from
    Usuario 
right join 
    Relaciones on (Usuario.idUsuario = Relaciones.idUsuario) 
inner join 
    Cursos on (Relaciones.idCurso = Cursos.idCurso)

这是我到目前为止所尝试的

var query = from Usuario in db.Usuario
            from Relaciones in db.Relaciones
            where Relaciones.Cursos.idCurso == id
            select distinct Usuario;

select usuario中的独特内容给我一个错误

1 个答案:

答案 0 :(得分:0)

要使用linq模拟distinct sql子句,您需要使用distinct方法,该方法通过使用默认的相等比较器来比较值来从序列中返回不同的元素。

var query = (from Usuario in db.Usuario
            join Relaciones in db.Relaciones on Usuario.idUsuario = Relaciones.idUsuario
            join Cursos in db.Cursos on Relaciones.idCurso = Cursos.idCurso
            where Cursos.idCurso == id
            select Usuario).Distinct();