У меня есть небольшой набор данных с несколькими datatables. Я загружаю данные из разных БД и имею конфигурационный файл, который я прочитал, чтобы определить первичные ключи, которые я хочу использовать для данных данных. Если в конфиге не содержится правильный (не уникальный) первичный ключ, как я могу поймать это событие при применении первичного ключа к datatable? В настоящее время представляется, что это позволяет мне применять первичный ключ, даже если он не является уникальным .....net Dataset Primary-Keys - обеспечение единства?
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.......
Любой указать, что мне не хватает? Спасибо
try { UniqueConstraint uc = new UniqueConstraint ("pk", pks, true); dtbl.Constraints.Add (uc); } Я проверил HasErrors и его false после того, как каждая таблица применила PK. (проверял свойства Dataset и DataTable) .... Я даже называю AcceptChanges() ... – WIDBA 2008-12-11 15:05:44