c# – EF 5忽略Int类型的[必需]属性

c# – EF 5忽略Int类型的[必需]属性,第1张

概述实体框架5.0.0似乎在包含在int字段时忽略[Required]属性,并自动包含0值而不是抛出异常.如果字段是字符串,则必需属性似乎有效.下面的简单模型和创建函数不会引发异常.为简洁起见,未显示具有DbSet度的DbContext类. public class Degree{ public int Id { get; set; } public string Name { ge 实体框架5.0.0似乎在包含在int字段时忽略[required]属性,并自动包含0值而不是抛出异常.如果字段是字符串,则必需属性似乎有效.下面的简单模型和创建函数不会引发异常.为简洁起见,未显示具有DbSet度的DbContext类.
public class Degree{    public int ID { get; set; }    public string name { get; set; }    [required]    public int FIEld { get; set; }}private static voID CreateDegree(){    var degree = new Degree { name = "Mechanical Engineering" };    var db = new Context();    db.degrees.Add(degree);    // try statement}

这可能是我的一个简单的误解,但任何想法/帮助将不胜感激.

解决方法 [required]属性表示必须存在值.构造Degree时,FIEld初始化为0,因为这是int的默认值.由于0是一个值,因此它满足[required]属性.

您可能希望尝试[Range]属性来指定该值必须大于0.或者您可以将模型更改为具有int ?,因此除非将其初始化为某个值,否则它将为null.

总结

以上是内存溢出为你收集整理的c# – EF 5忽略Int类型的[必需]属性全部内容,希望文章能够帮你解决c# – EF 5忽略Int类型的[必需]属性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1240999.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存