不带联接的SQL到LINQ到SQL表达式

不带联接的SQL到LINQ到SQL表达式,sql,entity-framework,navigation,distinct,Sql,Entity Framework,Navigation,Distinct,在实体框架中使用导航在查询下方转换SQL查询时 SELECT DISTINCT a.ApplicationID, eA.EmployeeID AS AppID, eA.EmailID AS AppEmail, eA.Title + eA.Name AS Applicant, eR.EmployeeID, eR.Title + eR.Name AS Employee, eR.EmailID AS Email, r.Title AS Role, r.RoleID, t .Title AS

在实体框架中使用导航在查询下方转换SQL查询时

SELECT DISTINCT 

a.ApplicationID, eA.EmployeeID AS AppID, eA.EmailID AS AppEmail, 
eA.Title + eA.Name AS Applicant, eR.EmployeeID, eR.Title + eR.Name 
AS Employee, eR.EmailID AS Email, r.Title AS Role, r.RoleID, t .Title AS 
Task, t .TaskID, d .ShortName AS AppDeptSN, a.Reminders, '' AS SubTaskID
FROM 
dbo.Application_TaskLog AS a INNER JOIN
dbo.Task AS t ON t .TaskID = a.TaskID INNER JOIN
dbo.Role AS r ON r.RoleID = t .RoleID INNER JOIN
dbo.Application_Role AS ar ON ar.ApplicationID = a.ApplicationID AND 
ar.RoleID = t .RoleID INNER JOIN
dbo.Employee AS eR ON eR.EmployeeID = ar.EmployeeID INNER JOIN
dbo.Application AS app ON app.ApplicationID = a.ApplicationID INNER JOIN
dbo.Employee AS eA ON eA.EmployeeID = app.EmployeeID LEFT OUTER JOIN
dbo.Departments AS d ON eA.DepartmentID = d .DepartmentID
我编写了以下函数来填充gridview

public List<Application_TaskLog> GetAppTaskLogDistinct(int appID)
{
    var context = new FPSDB_newEntities();
    var data = (from atl in context.Application_TaskLog
                where atl.ApplicationID == appID
                && !atl.Application.ApplicationClosed && !atl.Completed
                select atl).Distinct().ToList();
    return data;
}
公共列表GetAppTaskLogDistinct(int-appID)
{
var context=new FPSDB_newEntities();
var data=(来自context.Application\u TaskLog中的atl)
其中atl.ApplicationID==appID
&&!atl.Application.ApplicationClosed&!atl.Completed
选择atl).Distinct().ToList();
返回数据;
}

Distinct()在SQL中无法正常工作。我对如何使用Distinct感到困惑,因为我在SQL中使用了Distinct。Application\u TaskLog已经返回Distinct
Application\u TaskLog
记录,并且查询中没有重复记录的内容,所以
Distinct()
没有任何区别

上下文。应用程序\u TaskLog
已返回不同的
应用程序\u TaskLog
记录,并且查询中没有重复记录,因此
distinct()
没有任何区别

请显示您尝试了什么,因为不清楚您在哪里卡住了。我想你试过LINQ的
join
语句。问题出在哪里?另外,LINQ to SQL和Entity Framework是两种不同的技术。要连接两个列,请参阅
上下文。Application_TaskLog
已返回distinct
Application_TaskLog
记录,并且查询中没有重复记录的内容,因此
distinct()
没有任何区别。请显示您尝试了什么,因为不清楚您被卡在了哪里。我想你试过LINQ的
join
语句。问题出在哪里?另外,LINQ to SQL和Entity Framework是两种不同的技术。要连接两个列,请参阅
上下文。应用程序\u TaskLog
已返回不同的
应用程序\u TaskLog
记录,并且查询中没有重复记录的内容,因此
distinct()
没有任何区别。