У меня есть сетка, которая будет иметь Вставить / Удалить / Обновить.Есть два вида исключений, о которых я сейчас говорю: это Concurrency и Unique Constraint
. Сейчас я могу перехватить исключения, используя
private void OnSubmitChangesCompleted(SubmitOperation so)
{
if (so.HasError)
{
//RadWindow.Alert("Modification is failed because of concurrency issue."+ "\nPlease close the window and reopen it", OnClosed);
//so.MarkErrorAsHandled();
MessageBox.Show(string.Format("Submit Failed: {0}", so.Error.Message));
so.MarkErrorAsHandled();
}
}
Однако, Сообщение слишком недружелюбно.И не уточняйте, является ли это исключением параллелизма или исключением уникального ограничения.
Может кто-нибудь сказать мне, как я могу их уточнить? Я пытаюсь использовать GetType (), чтобы увидеть, какое у них исключение, но я обаполучите исключение DomainOperationException.
Примечание. В случае обновления должно быть возможно захватить исключение параллелизма или исключение ограничения уникальности.Я думаю, что для удаления может быть выдано только исключение параллелизма.Для Вставки может быть выдано только исключение Уникальное ограничение.
Любая помощь будет оценена.
Я обнаружил аналогичную ситуацию в моем случае на
http://forums.silverlight.net/forums/t/198896.aspx
но я действительно не знаю, как проверить что-то похожее на
BananaCannotBeDeleted () в этом примере, потому что мне нужно проверить уникальность или параллелизм, которые включают базу данных в моем случае.