我在将以下查询转换为 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()。如何选择上述三个特定列来比较不同列而不是所有列。问候
您只需要在所有其他操作后应用 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();
小心包含日期(其中一个>/<符号可能需要替换为>/<=)符号可能需要替换为>