我正在尋找填充一個對象模型與一個linq-to-sql查詢的計數,它由它的密鑰分組。linq-to-sql與計數和自定義對象模型組
對象模型看起來有點像這樣:
public class MyCountModel()
{
int CountSomeByte1 { get; set; }
int CountSomeByte2 { get; set; }
int CountSomeByte3 { get; set; }
int CountSomeByte4 { get; set; }
int CountSomeByte5 { get; set; }
int CountSomeByte6 { get; set; }
}
這是我對查詢:
var TheQuery = from x in MyDC.TheTable
where ListOfRecordIDs.Contains(x.RecordID) && x.SomeByte < 7
group x by x.SomeByte into TheCount
select new MyCountModel()
{
CountSomeByte1 = TheCount.Where(TheCount => TheCount.Key == 1)
.Select(TheCount).Count(),
CountSomeByte2 = TheCount.Where(TheCount => TheCount.Key == 2)
.Select(TheCount).Count(),
.....
CountSomeByte6 = TheCount.Where(TheCount => TheCount.Key == 6)
.Select(TheCount).Count(),
}.Single();
ListOfRecordIDs
是則傳遞作爲參數多頭的名單。所有CountSomeByteN都以紅色下劃線。你如何計算分組元素的密鑰映射到對象模型?
感謝您的建議。
我還需要一個orderby來確保CountSomeByte1 = dict [1];另外,有沒有辦法讓它在一個聲明中工作? – frenchie
1)編號'dict'是'Dictionary','1'是字典鍵,而不是數組索引。 'dict [1]'將是'SomeByte'爲1的記錄的計數,因爲這就是分組完成的方式。 2)我確信有一種方法,但我懷疑它會一樣簡單。我會玩弄它。 –
好的,謝謝;我認爲現在很好。 – frenchie