如何本地化Entity Framework内置验证消息/异常?

时间:2012-10-15 09:05:54

标签: .net entity-framework c#-4.0 entity-framework-4.1

除了基于注释的验证机制外,EF还提供了所谓的“Facets”。在字符串属性上的含义,您可以使用“最大长度”构面(通过EF模型配置),其中指定最大长度为80个字符。大多数情况下,当您使用数据库第一种方法时,这将由EF自动完成。

如果现在该属性包含超过指定数量的字符,EF将抛出带有消息的DbEntityValidationResult

  

[PropName]:字段[PropName]必须是字符串或数组类型,最大长度为“80”。

我的问题:如何本地化此类消息???我还需要德语和意大利语......

1 个答案:

答案 0 :(得分:1)

Maarten Balliauw写了一篇关于它的博客博客:

Localize ASP.NET MVC 2 DataAnnotations validation messages

更新您的类以使用ErrorMessageResourceTypeErrorMessageResourceName参数,而不是您通常传递的ErrorMessage参数。

此外,您可以本地化您的DisplayNameAttributes;这是一篇Stackoverflow帖子,解释了如何做到这一点:Localization of DisplayNameAttribute

<强>更新

我认为如果您安装.NET Framework语言包,则应该为您翻译这些标准消息。

警告(发生在我身上):ASP.NET MVC 3 localized validation messages work on my machine, but not on server