我的數據庫有一個不爲空的字段,但可以包含一個空字符串。當我嘗試使用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