Если вы точно не уверены в том, что делаете, я не предлагаю вам обрабатывать исключение, возвращая 0. Я всегда предпочитаю обрабатывать исключение на самом внешнем стеке и регистрировать исключение, а затем предпринимать надлежащие действия. И если это возможно, я предлагаю вам использовать промежуточное программное обеспечение для обработки ошибок (это зависит от используемой вами структуры, подхода и ситуации).
С другой стороны, вам не нужно обновлять каждый объект один за другим. Вы можете позвонить SaveChangesAsync
после всех выполненных операций.
try
{
foreach (Person person in persons)
{
person.Status = Status.Finish;
person.Changed = DateTime.Now;
person.Role = Role.Worker;
MyContext.Persons.AddOrUpdate(person);
}
var affectedRows = await MyContext.SaveChangesAsync();
return (int)(persons.Count == affectedRows);
}
catch (EntityCommandExecutionException ex)
{
return 0;
}
возможно ошибка в CMake (ранее отслеживалась здесь ), что это не работает из коробки. Обходной путь должен сделать следующее:
add_test(TestName ExeName)
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}
DEPENDS ExeName)
Затем вы можете запустить make check
, и он скомпилирует и запустит тест. Если у вас есть несколько тестов, вам придется использовать DEPENDS exe1 exe2 exe3 ...
в приведенной выше строке.