Код: Выделить всё
public static string LogMessageDbEntityValidationException(DbEntityValidationException ex)
{
StringBuilder error = new StringBuilder();
error.AppendLine("Validation Error details for DbEntityValidationException throw: ");
foreach (var validationErrors in ex.EntityValidationErrors)
{
foreach (var validationError in validationErrors.ValidationErrors)
{
error.AppendLine(string.Format("Property: {0} , Error: {1}",
validationError.PropertyName, validationError.ErrorMessage));
}
}
return error.ToString();
}
Вот неработающий модульный тест, он не работает при создании DbEntityEntry:
Код: Выделить всё
public void LogMessageDbEntityValidationExceptionTest()
{
string errorMessage = "Unit Test Error Message";
string expected = "Not valid data.";
List entityValidationResults = new List();
List errorList = new List();
DbEntityValidationException ex;
errorList.Add(new DbValidationError("TestProperty", expected));
entityValidationResults.Add(new DbEntityValidationResult(new System.Data.Entity.Infrastructure.DbEntityEntry(), errorList));
ex = new DbEntityValidationException(errorMessage, entityValidationResults);
string actual = Common.LogMessageDbEntityValidationException(ex);
Assert.IsTrue(actual.Contains(expected));
}
Подробнее здесь: https://stackoverflow.com/questions/266 ... ntityentry
Мобильная версия