我有一個類BaseEvent
,它具有以下字段:通過標準查找記錄,並選擇只有一個,如果他們有一些均田(LINQ)
Name, RecurrenceStart, RecurrenceEnd, SimillarId
例如,我們在表中有一個數據:
Name RecurrenceStart RecurrenceEnd SimillarId
Event1 2012-02-21 09:00:00.000 2012-02-28 11:30:00.000 1
Event1 2012-02-21 04:30:00.000 2012-02-28 07:00:00.000 1
Event2 2012-02-21 06:30:00.000 2012-02-29 09:00:00.000 2
,我們有以下查詢:
var today = DateTime.Now;
return Database.BaseEvents.Where(e => e.RecurrenceStart.Value.Date <= today
&& e.RecurrenceEnd.Value.Date >= today).ToList();
查詢返回所有3條記錄(CURREN t日期)。但前兩個記錄是同一個事件。 我希望在結果中只有兩條記錄:3和(1或2)。
我該怎麼做?
謝謝。
P.S.我爲此介紹了SimillarId,但我不知道如何使用它來構建查詢。
P.S.2。如果需要更改問題名稱。
對於'Distinct'的工作,您需要在對象上實現'IEqualityComparer'。我不知道這對你是否可行。 –
2012-02-22 10:20:09