将SQL查询转换为LINQ for EntityFramework

时间:2013-01-23 11:41:33

标签: sql linq entity-framework linq-to-entities

我无法将以下查询转换为EF:

SELECT DISTINCT
[CompanyId]
,[CompanyNumber]
,[ReturnsLastMadeUpDate]
FROM [CHX].[dbo].[CompanyDetailsDailyDump]
WHERE [InsertDate] BETWEEN '2012-12-19' and '2013-01-20'
ORDER BY [ReturnsLastMadeUpDate] DESC

主要问题是Distinct()。如何选择以上三个特定列来比较不同的列而不是所有列。 此致

1 个答案:

答案 0 :(得分:1)

您需要在所有其他操作后应用Distinct。即:

CompanyDetailsDaily
    .Where(x => x.InsertDate < DateTime.Parse('2013-01-20') && 
            x.InsertDate > DateTime.Parse('2012-12-19'))
    .OrderBy(x => x.ReturnsLastMadeUpDate)
    .Select(x => new{x.CompanyID,x.CompanyNumber,x.ReturnsLastMadeUpDate})
    .Distinct();

小心日期包含(其中一个&gt; /&lt;符号可能需要替换为=&gt; /&lt; =)