我一直在c#.net 3.5中做了一些linq,覺得我應該能夠做到以下一點整潔。改進c#linq表達式的算法和語法
有沒有辦法將這個結合成一個linq語句。
的條件如下
- 如果列表中包含的元素,其中的計數大於或等於 閾值,則我們可以使用該列表
- 訂單列表通過計數
- 訂購按日期列出
我還想在計數中添加另一個條件,以便我可以將所有項目的計數大於或等於閾值相同。我可以通過將計數限制到閾值來實現這一點,但我不希望在閾值發生變化的情況下。我對如何做到這一點有點難,除了臨時編輯記錄時,我從數據庫中獲取它們並不保存它們。即在按日期排序之前,列表(1,2,3,4,5)的閾值爲3(3,3(4),3(5),2,1))。
var allFaves = m_favouriteRepo.Get(user);
if(allFaves.Any(t => t.Count >= threshold))
{
var ordered = allFaves
.OrderByDescending(x => x.Count)
.ThenByDescending(x => x.SortDate)
.ToList();
}
感謝 尼爾
'任何()'返回一個布爾值。 '!= null'沒有任何意義。 – SLaks
這是linq-to-sql,實體框架還是兩者都不?使用nHibernate的 – AakashM
。對不起,關於!= null – Neil