这是我第一次使用Entity Framework,我需要全局化验证消息。
就目前而言,我发现的最佳方法是使用以下内容:
实体
public class Entity
{
[Display(Name = "Entity_Field", ResourceType = typeof (Resources))]
[StringLength(128, ErrorMessageResourceType = typeof (Resources), ErrorMessageResourceName = "StringLengthMessage")]
[Required(AllowEmptyStrings = false, ErrorMessageResourceType = typeof (Resources), ErrorMessageResourceName = "RequiredMessage")]
public string Field { get; set; }
}
资源
| Name | Value | Comment |
|:-------------------:|:-----------------------------------:|:-------:|
| Entity_Field |Field Name | |
| RequiredMessage |{0} is required | |
| StringLengthMessage |{0} maximum length is {1} characters | |
正如您所看到的,使用此策略将迫使我编写大量重复代码并使代码更难阅读(非常个人意见)。
我正在寻找更像这样的东西:
App.conf 使用here
中的默认消息密钥<entityFramework>
<defaultErrorMessageResourceType>Project.Properties.Resources</defaultErrorMessageResourceType>
</entityFramework>
实体
公共类实体 {
[StringLength(128)]
[Display(Name = "Entity_Field")]
[Required(AllowEmptyStrings = false)]
public string Field { get; set; }
}
资源
| Name | Value | Comment |
|:-------------------------------------:|:-----------------------------------:|:-------:|
| Entity_Field |Field Name | |
| RequiredAttribute_ValidationError |{0} is required | |
| StringLengthAttribute_ValidationError |{0} maximum length is {1} characters | |