Когда вы вызываете SubmitChanges, он возвращает SubmitOperation, у которого есть свойство с именем HasError. Если это правда, то это означает, что один или несколько объектов находятся в состоянии Error. Вы также можете использовать свойство EntitiesInError, которое вернет вам все сущности с любыми ошибками, включая validationErrors
TestDomainContext tdc = new TestDomainContext();
SubmitOperation so = tdc.SubmitChanges();
if (so.HasError)
{
foreach (Entity entity in so.EntitiesInError)
{
if (entity.ValidationErrors.Count() > 0)
//Loop through validation errors to see what property is in error
}
so.Cancel();
}
Это дает вам больший контроль над ошибками, чем выполнение TryValidate. Вы также можете отменить SubmitOperation, если в нем есть ошибки ...