使用Linq连接数据表
本文关键字:数据表 连接 Linq 使用 | 更新日期: 2023-09-27 18:09:34
我有两个名为表1和表2的表:现在我想用表1中的列来填充表2中的列
table 1
Date | Value
-------------
5 | 678
10 | 135
15 | 420
table 2
Date | Value | Value2
------------------------
1 | 100 |
2 | 200 |
3 | 300 |
4 | 400 |
5 | 500 | 678
6 | 600 |
7 | 700 |
8 | 800 |
9 | 900 |
10 | 1000 | 135
11 | 1100 |
12 | 1200 |
13 | 1300 |
14 | 1400 |
15 | 1500 | 420
16 | 1600 |
17 | 1700 |
我使用下面的代码来填充使用foreach循环的数据值。但是它需要更多的时间来评估。我想使用Linq。有人能帮我吗?
foreach (DataRow row in table.Rows)
{
string date= Convert.ToString(row["date"]);
if (!string.IsNullOrEmpty(date))
{
foreach (DataRow sheetRow in table1.Rows)
{
if (sheetRow["Date"] != DBNull.Value)
{
// Assuming that given columns in both datatables are of same type
if (Convert.ToDateTime(date) == Convert.ToDateTime(sheetRow["Date"]))
{
row["Value"] = sheetRow["Value"];
break;
}
}
}
}
return table2;
try this
context.table2.Join(context.table1, t2 => t2.Date, t1 => t1.Date, (t2, t1) => t2.Value2 = t1.value);
如果有帮助请告诉我