我有DatatablesourceTable
用 columnssource_Id
和. 第二个数据表带有列, 。所有列都是 Int 类型而不是列标题。title
programme_Id
credits
credit_Id
programme_Id
programme_Id
数据表中的列credits
是外键 FROM 数据表sourceTable
我想要实现的是 Exceed table sourceTable
with Column credit_Id
from datatable credits
。
我写了一个有效的代码,但是很慢,有没有更好的方法!,如果没有我正在寻找的项目,FirstOrDefault 将放置 0,对于这种情况,也许会更好地返回 null 值而不是 0
sourceTable.columns.Add("credits_Id");
var rowColl = credits.AsEnumerable();
foreach (DataRow row in sourceTable.Rows)
{
var credits_Id =
(from r in rowColl
where r.Field<int>("programme_Id") == Convert.ToInt32(row["programme_Id"].ToString())
select r.Field<int>("credits_Id")).FirstOrDefault<int>();
row["credits_Id"] = credits_Id;
}