Я использую LINQ2SQL, и у меня есть таблица «Клиенты» с тремя столбцами
CustmerID, CustomerCode, CustomerName
CustmerID - это первичный ключ (и Identity = yes), а CustomerCode - просто UniqueKey.
Когда я обновляю эту таблицу, используя LINQ to SQL с дублированным кодом клиента, я ожидаю увидеть DuplicateKeyException, но он входит в общий блок исключений вместо блока DuplicateKeyException. Есть идеи?
Это код
публичное обновление void (запрос клиента)
{
использование (LINQDemoDataContext db = new LINQDemoDataContext ())
{
Сущность клиентов = CustomerMapper.ToEntity (новые клиенты (), cust);
try
{
db.Customers.Attach(entity, true);
db.SubmitChanges();
}
//Concurrency Exception
catch (ChangeConflictException)
{
throw new ChangeConflictException("A concurrency error occurred!");
}
//duplicate record
catch (DuplicateKeyException)
{
throw new DuplicateKeyException(entity.CustmerCode);
}
//everything else
catch (Exception ex)
{
throw ex;
}
}
}
Я использую VisualWebDeveloperExpress 2008 и SQL Express 2005.
Спасибо и С уважением,
Supremestar