gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 05:23:34 24 4
gpt4 key购买 nike

我的数据库有一个不可为空的字段,但可以包含一个空字符串。当我尝试使用 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 类工作正常,但显然 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

最佳答案

我在同一条船上......我有几个你的确切行为实例,它们工作得很好......

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

但是,如果我不使用“Required(AllowEmptyStrings = true)”属性,事情就会恢复正常。其中,我想这就是我真正要寻找的,因为所讨论的属性并没有那么大的意义(必需,但允许用户不要回答).....

对我来说,更大的问题是为什么它有时有效,有时却无效?

但至少,删除类似的代码应该可以为您解决问题。

关于asp.net - Buddy Class 中的必需属性不适用于 Entity Framework 5 和 ASP.NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15140062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com