[英]Linq to Compare two datatables and Filter data
我有兩個dataTables,
Id Name
1 Alex
2 Hiro
我的第二個數據表是
Field | 1 | 1_Value | 2 | 2_Value
Salary | 123.4| Good | 245 | Bad
CTC | 25.4 | Bad | 300 | good
第一個表ID值1、2是第二個表的列。 我想使用Id來比較兩個使用Id-列關系的表,並且我期望的過濾輸出應該看起來像
[{
"Id" : 1 , "Name": "Alex",
"data" : [123.4, 25.4] ,"values":["Good" ,"Bad"]},
{
"Id" : 2 , "Name": "Hiro",
"data" : [245, 300] ,"values":["Bad","Good" ]}
]
我的代碼嘗試使用foreach循環,如
if (ds.Tables[1].Rows.Count > 0)
{
var comparisonDetail = (from DataRow dataRow in ds.Tables[1].Rows
select new cls.MyBaseClass()
{
ID = Convert.ToInt64(dataRow["ID"]),
Name= Convert.ToString(dataRow["Name"])
}
).ToList();
foreach (var vId in comparisonDetail)
{
foreach(var vRow in ds.Tables[2].Rows)
{
vId.Data = vRow.value.
}
}
我如何使用C#linq實現此目的? 幫助將不勝感激
您要使用join( join子句(C#參考) )
using(var c = DataBaseConnection())
{
var data=from r in c.firstTable
join st in c.SecondTable on r.Id equals st.FieldId
select new
{
// create return object
};
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.