我有两个名为表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循环填充datavalue。 但是需要更多时间来评估。我想使用 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;
答案 0 :(得分:0)
试试这个
context.table2.Join(context.table1, t2 => t2.Date, t1 => t1.Date, (t2, t1) => t2.Value2 = t1.value);
请告诉我这是否有帮助。