2013-01-23 59 views
0

我有麻煩翻譯下面的查詢到EF:轉換SQL查詢,以LINQ爲的EntityFramework

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

的主要問題是與DISTINCT()。我如何選擇以上三個特定列進行比較以獲得不同的列而不是所有的列。 Regards

+1

你google一下? .Distinct()似乎是答案。爲什麼我在做你的谷歌搜索? –

+0

是的,但獨特將比較所有可用的列,而不是隻有三個。如果只有特定的列可以選擇,這也可以解決問題。 – user2003718

回答

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(); 

小心日期列入(的>/<標誌之一可能需要用=>/< =取代)

+0

非常感謝,節省了一天的時間。 – user2003718

+0

不客氣!歡迎來到Stack Overflow。不要忘記接受和/或上傳你喜歡的問題的答案。 – DarkWanderer