Entity Framework 6 / Локализовать пользовательскую ошибку проверки (DbValidationError) - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь понять, как локализовать сообщения об ошибках валидации с помощью Entity Framework 6.2 (сначала база данных).

Я знаю, что могу проверить сущность, переопределив метод ValidateEntity моего DbContext,но я не знаю, как перевести сообщение, введенное в DbValidationError.Это мой код:

protected override DbEntityValidationResult ValidateEntity(DbEntityEntry entityEntry, IDictionary<object, object> items)
{
    var result = new DbEntityValidationResult(entityEntry, new List<DbValidationError>());

    if (entityEntry.Entity is User)
    {
        var entity = (User)entityEntry.Entity;
        if (!SomeComplexValidation(entity))
        {
            // How can I translate the message ?
            result.ValidationErrors.Add(new DbValidationError(null, "An error message which must be translated"));
        }
    }

    if (result.ValidationErrors.Any())
    {
        return result;
    }
    else
    {
        return base.ValidateEntity(entityEntry, items);
    }
}

Предоставляет ли Entity Framework 6 стандартный способ перевода пользовательских сообщений об ошибках?Должен ли я где-то ввести тип ресурса?

...