DataTable tbl = view.ToTable();
DataColumn[] pk = new DataColumn[table2.PrimaryKey.Length];
var names = table2.PrimaryKey.Select(column => column.ColumnName).ToArray();
for (int i = 0; i < table2.PrimaryKey.Length; i++)
{
tbl.PrimaryKey[i] = tbl.Columns[names[i]];
}
tbl.PrimaryKey = pk;
我想为表格设置所有主键,女巫保存在变量名中。
我有两个缩进。表,我想设置相同的主键...
答案 0 :(得分:0)
您应使用以下代码。请注意,我已经在循环中注释了您的代码,并且循环还在names
而不是DataTable主键上进行了迭代。
我假设DataTable tbl
已包含其列名在names
数组中的所有列。
DataTable tbl = view.ToTable();
DataColumn[] pk = new DataColumn[table2.PrimaryKey.Length];
var names = table2.PrimaryKey.Select(column => column.ColumnName).ToArray();
for (int i = 0; i < names.Length; i++)
{
//tbl.PrimaryKey[i] = tbl.Columns[names[i]];
pk[i] = tbl.Columns[names[i]];
}
tbl.PrimaryKey = pk;