1
我做了一個簡單的Linq查詢:動態的LINQ選擇一個複雜的對象
var retVal = readModel
.GroupBy(x => x.Service)
.Select(
grp => new GroupView
{
GroupName = grp.Key,
GroupItems = grp.Sum(k => k.NumberOfItems)
}
);
retVal
是一個IQueryable<GroupView>
。到目前爲止,我試圖做的是使這個查詢變爲動態的,所以用戶可以使用自定義分組策略。
這是我第一次嘗試:
var retVal = readModel
.GroupBy("Service", "it")
.Select("it.key");
這給我字符串的含氧基團的名稱的數組。這是好的,但我想達到的效果是很遠,因爲我有兩個unanswerd問題:
- 我怎麼能翻譯結果向
GroupView
模型 - 我怎麼能作出這樣的總和?
什麼是'GroupName'的類型?一個字符串?你會一直由這種類型的財產分組嗎?例如串? –
是的,在這種情況下,它是一個字符串,但它也可能是一個Date,但現在一個字符串就足夠了。 –
爲什麼不使用第一個代碼,而是用'Expression>'類型的變量替換'x => x.Service',其中'Entity'是您的實體類型? –