搶兩列的訂單後,我有以下模式:LINQ到數據集:如何通過
層級ID,COUNTRYCODE,國家或地區名稱
我如何使用LINQ來獲得的枚舉集合 (TierId,)
我知道我可以做以下解決方案,但有沒有辦法避免雙重排序? 通過col3命令col1和col2(粘在一起)?
var a = from row in ds.Tables[1].AsEnumerable()
group row["CountryCode"] by row["TierId"]
into countrieCodes
select new
{
tierId = Convert.ToInt32(countrieCodes.Key)-1,
countrieCodesList = countrieCodes.Select(i => i.ToString()).ToList()
};
var b = from row in ds.Tables[1].AsEnumerable()
group row["CountryName"] by row["TierId"]
into countrieNames
select new
{
tierId = Convert.ToInt32(countrieNames.Key)-1,
countrieCodesList = countrieNames.Select(i => i.ToString()).ToList()
};
var c = from itemA in a
from itemB in b
where itemA.tierId == itemB.tierId
orderby itemA.tierId
select new {
TierId = itemA.tierId,
CountriesA = itemA.countrieCodesList,
CountriesB = itemA.countrieCodesList,
};
感謝
你是否試圖將表交叉連接到自己的表,或者在TierId列中將表連接到自己?目前還不清楚你正在嘗試做什麼,並且從我猜測看來你的數據庫設計問題看起來不僅僅是代碼問題 –
如果你可以重新格式化你的代碼以避免它滾動,那真的很有幫助。爲什麼到目前爲止這麼多的權利? (我現在無法自己做,因爲我即將下車,但你自己做這件事是值得的。) –
縮進。抱歉,添麻煩了。 –