加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

Buddy Class中的必需属性不适用于Entity Framework 5和ASP.NET

发布时间:2020-12-16 09:38:37 所属栏目:asp.Net 来源:网络整理
导读:我的数据库有一个不可为空的字段,但可以包含一个空字符串.当我尝试使用connection.SaveChanges()保存记录时,我得到一个异常,说“MyField字段是必需的”. 我创建了一个BuddyClass如下,但我仍然收到消息: namespace MyNamespace {[MetadataType(typeof(QuesT_
我的数据库有一个不可为空的字段,但可以包含一个空字符串.当我尝试使用connection.SaveChanges()保存记录时,我得到一个异常,说“MyField字段是必需的”.

我创建了一个BuddyClass如下,但我仍然收到消息:

namespace MyNamespace {
[MetadataType(typeof(QuesT_Metadata))] public partial class QuesT { }
public class QuesT_Metadata {
    [Required(AllowEmptyStrings = true)
    public string MyField { get; set; }
}
}

我可以使用ErrorMessage属性来更改抛出的错误中的消息,因此我知道Buddy类正常工作,但显然必需属性不是.

我也试过包含属性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

解决方法

我在这里同一条船……我有几个你确切行为的例子,工作得很好……

现在,一个特定领域不会表现……

但是,如果我放弃“必需(AllowEmptyStrings = true)”属性,事情就会恢复正常.其中,我猜是我真正想要的,因为有问题的属性并没有真正有意义(必需,但允许用户不回答)…..

对我来说,更大的问题是为什么它有时会起作用,有时却不起作用?

但是,在最小的情况下,删除代码之类的应该可以为您解决问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读