Я начал использовать Entity Framework 4.3.1 с первым подходом кода.Как поймать исключения из пространства имен System.Data?
Я хочу, чтобы избежать сбоя приложения, когда сервер базы данных отключен или недоступен, улавливая определенные исключения. Представьте себе этот короткий пример кусок кода:
using (var db = new MyContext())
{
var people = new People();
db.People.AddObject(people);
db.SaveChanges();
}
Когда сервер выключен, я получаю ProviderIncompatibleException. Если я пытаюсь изменить код ловли ProviderIncompatibleException как этого
using (var db = new MyContext())
{
try
{
var people = new People();
db.People.AddObject(people);
db.SaveChanges();
}
catch(ProviderIncopatibleException)
{
}
}
я получаю ошибку компилятора «тип пойманы или выброшен должен быть выведен из System.Exception». Как я могу поймать наиболее конкретное исключение, используя инфраструктуру Entity? Благодарим за помощь.
По http://msdn.microsoft.com/en-us/library/system.data.providerincompatibleexception.aspx это происходит от System.Exception. Вы пробовали использовать весь путь класса: 'System.Data.ProviderIncompatibleException'? – MarcinJuraszek
В названии есть опечатка: ProviderInco-patibleException' – Polynomial
@MarcinJuraszek Вы правы. Я не ссылался на сборку System.Data –