2
我有一個嵌套的linq
到sql
用於填充treeview
的查詢。當綁定到treeview
時,第一個選擇(Title
字段)正確顯示所有Titles
,但是如果有多個出現,我希望它顯示一次。我該如何解決這個問題?Linq查詢和預期結果 - 不同字段
我試圖
}).Distinct().OrderBy(c => c.LineNumber)
}).Distinct();
完整的查詢
var results =
(from d in mContext.Docs
orderby d.Title ascending
join b in mContext.Base on d.DocId equals b.DocId
join h in mContext.ViewDocItems on b.BaseId equals h.BaseId
where h.ItemId == mGuid
select new
{
Id = d.DocId,
Title = d.Title,
ClassId = d.ClassId,
BaseHis =
(from c in d.Base
select new BaseHistory()
{
BaseId = c.BaseId,
Name = c.Title,
BaseFinal = c.Final.Value,
LineNumber = c.LineNumber.Value
ItemId = h.ItemId
}).Distinct().OrderBy(c => c.LineNumber)
});
foreach(var r in results)
{
var hist = new DocHistory()
{
Id = r.Id,
Title = r.Title,
ClassId = r.ClassId;
};
foreach(var h in r.BaseHis)
{
hist.BaseHis.Add(h);
}
mHistory.Add(hist);
}
你說你嘗試過什麼,而不是發生了什麼事。 – 2013-05-08 18:51:00
添加第二個distinct()後沒有任何更改。結果是一樣的。標題顯示正確,我只想顯示每個標題之一,即使有多個相同標題的出現。 – KeyboardFriendly 2013-05-08 18:56:56
謝謝喬恩,我更新了我的評論 – KeyboardFriendly 2013-05-08 19:27:29