【发布时间】:2015-06-15 03:01:07
【问题描述】:
我有一个超过 10 列的数据表,我想区分所有列,然后将结果存储到另一个数据表。
有没有办法通过使用 LINQ 来区分数据表中的所有列而不命名所有列?
我已经尝试了下面的代码,但它只给出了一行。请给我任何建议。
DataTable dtPurchaseOrder = new DataTable();
DataTable dt = new DataTable();
dt.Columns.Add("PONumber");
dt.Columns.Add("Customer");
dt.Columns.Add("Address");
dt.Rows.Add("PO123456", "MH", "123");
dt.Rows.Add("PO123456", "MH", "123");
dt.Rows.Add("PO654321", "AB", "123");
dt.Rows.Add("PO654321", "AB", "123");
foreach (DataRow r in dt.Rows)
{
var lstPO = (from row in dtPurchaseOrder.AsEnumerable()
select row.Field<string>("PONumber")).Count();
if (lstPO == 0)
dtPurchaseOrder.Rows.Add(r.ItemArray);
}
dtPurchaseOrder.AcceptChanges();
【问题讨论】:
-
将
PrimaryKey定义为您的Datatable。 -
@HariPrasad 谢谢你的回复。请给我更多关于数据表中 PrimaryKey 的信息?
-
您可能会使用
String.Join和行的ItemArray创建一个代表整行的String,然后获得不同的值。