我有一个带有几个数据表的小数据集。我从各种数据库加载数据表,并读取了一个配置文件,以确定我想在给定数据表上强制执行的主键。如果配置不包含正确的(非唯一)主键,那么在将主键应用于数据表时如何捕获此事件?目前看来它允许我应用主键,即使它不是唯一的......
DataTable dtbl = ds.Tables[t.tblname];
DataColumn[] pks = new DataColumn[t.Get_Key_Columns().Count];
int i = 0;
foreach(DataColumn c in dtbl.Columns)
{
if(t.Get_Key_Columns().Exists(delegate(App_Column ac)
{return (ac.column_name == c.ColumnName);}))
{
pks[i] = c;
i++;
}
}
try
{
dtbl.PrimaryKey = pks;
}
catch etc.......
有人指出我缺少什么吗?谢谢