我的数据库有一个不为空的字段,但可以包含一个空字符串。当我尝试使用connection.SaveChanges()保存记录时,我收到一个异常,说“MyField字段是必需的”。Buddy类中的必需属性不适用于实体框架5和ASP.NET
我创建了一个BuddyClass如下,但我仍然得到消息:
namespace MyNamespace {
[MetadataType(typeof(QuesT_Metadata))] public partial class QuesT { }
public class QuesT_Metadata {
[Required(AllowEmptyStrings = true)
public string MyField { get; set; }
}
}
我可以使用的ErrorMessage属性更改时引发了错误的消息,所以我知道好友类是正常工作,但显然Required属性不是。
我也试过包括属性DisplayFormat(ConvertEmptyStringToNull = false),但得到了相同的结果。
我已经做到了这一点,也是第一次参考下面似乎说它应该工作,所以我很难过。谁能帮忙?
引用(只有前两个看似直接相关,但其他人仍可能有用):
http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.requiredattribute.allowemptystrings.aspx
http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.displayformatattribute.convertemptystringtonull.aspx
How to make an Entity Framework property NOT NULL, but not required in form submission
Data annotation attributes not working using buddy class metadata in an MVC app
Data validation with custom attributes (AttributeTargets.Class) on EF buddy classes