я пытаюсь удалить таблицу данных, которая была загружена в набор данных и была связана. Вот код, которого я делал попытку.
domain.EnforceConstraints = false;
if (domain.Tables["TABLE_NAME"] != null)
{
domain.Tables["TABLE_NAME"].ChildRelations.Clear();
domain.Tables["TABLE_NAME"].ParentRelations.Clear();
domain.Tables.Remove("TABLE_NAME");
}
domain.EnforceConstraints = true;
Это выдает исключение при удалении таблицы, из-за существующего ограничения внешнего ключа. К сожалению, способ, которым логика, я понятия не имею, что название ограничения [таким образом, я не могу трудно кодировать его].
там Находится далеко для выполнения этого более легким способом, или могу я получать некоторые предложения относительно того, как определить местоположение и удалить ограничение, которое вызывает мою проблему.
Заранее спасибо,------------------------
ОТВЕТА Steve
--------------------------мне не разрешили ответить на мой собственный вопрос, таким образом, вот решение, которое я предложил. Этот фрагмент кода теперь работает на меня. Я должен был путешествовать отношение к другой таблице и удалить ограничение оттуда.
if (domain.Tables["TABLE_NAME"] != null)
{
for (int f = domain.Tables["TABLE_NAME"].ChildRelations.Count -1; f >=0; f--)
{
domain.Tables["TABLE_NAME"].ChildRelations[f].ChildTable.Constraints.Remove(domain.Tables["TABLE_NAME"].ChildRelations[f].RelationName);
domain.Tables["TABLE_NAME"].ChildRelations.RemoveAt(f);
}
domain.Tables["TABLE_NAME"].ChildRelations.Clear();
domain.Tables["TABLE_NAME"].ParentRelations.Clear();
domain.Tables["TABLE_NAME"].Constraints.Clear();
domain.Tables.Remove("TABLE_NAME");
}