实体框架ASP Net MVC错误,当日期字段为空时,它将覆盖编辑操作期间的现有日期

AlecTech

我为CRUD项目创建了脚手架控制器,但存在一个错误。当我为MySql DB创建新的实体(记录)时,它可以按预期工作,其中一个值是HiredDate。但是,当我在其他视图中编辑“ FiredDate”之类的内容时,它将覆盖HiredDate的先前创建的记录,并将其设置为0001-01-01。

这是该模型的代码

        [Column("City", TypeName = "varchar(100)")]
        public string City { get; set; }

        [Required]
        [Column("Department", TypeName = "varchar(100)")]
        public string Department { get; set; }

        [Required]
        [Column("HiredDate", TypeName = "date")]
        [Display(Name = "Hired On")]
        public DateTime HiredDate { get; set; }

        [Column("FiredDate", TypeName = "date")]
        [Display(Name = "Fired On")]
        public DateTime? FiredDate { get; set; }

        [Required]
        [Column("ModifiedDate", TypeName = "datetime")]
        [Display(Name = "Modified Date")]
        public DateTime ModifiedDate { get; set; }

控制器代码进行编辑

   public async Task<IActionResult> Edit(int id, [Bind("ID,FirstName,LastName,Email,Phone,Age,City,Department,FiredDate")] Employee employee)
        {
            if (id != employee.ID)
            {
                return NotFound();
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(employee);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!EmployeeExists(employee.ID))
                    {
                        return NotFound();
                    }
                    else
                    {
                        throw;
                    }
                }
                return RedirectToAction(nameof(Index));
            }
            return View(employee);
        }

用于创建的控制器代码

   public async Task<IActionResult> Create([Bind("FirstName,LastName,Email,Phone,Age,City,Department,HiredDate")] Employee employee)
        {
            if (ModelState.IsValid)
            {
                _context.Add(employee);
                await _context.SaveChangesAsync();
                return RedirectToAction(nameof(Index));
            }
            return View(employee);
        }

覆盖的结果如下所示: 在此处输入图片说明

我该如何解决?当我执行“编辑”操作并修改除HiredDate之外的任何其他字段时,我希望HiredDate保持不变(例如2020-01-01)。

AlecTech

没关系,我发现了问题,这个BIND确实不是用户友好的,它迫使开发人员显示视图内的所有字段,如果缺少该字段,则将使用空值覆盖该字段。解决方案在“编辑视图表单”中。该表格应显示模型具有的所有字段。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ASP.NET MVC 实体框架 ID 不能为空

来自分类Dev

没有模型和实体框架的ASP.NET MVC

来自分类Dev

带有实体框架的ASP .NET MVC 5中的并发

来自分类Dev

ASP.NET Web API 2 CRUD 操作与实体框架

来自分类Dev

ASP.NET vNext MVC和实体框架问题

来自分类Dev

ASP.NET MVC 5实体框架-关系

来自分类Dev

使用实体框架ASP.NET MVC登录过程

来自分类Dev

实体框架(ASP.NET MVC)的导航属性问题

来自分类Dev

ASP.NET MVC处理时区实体框架

来自分类Dev

实体框架和ASP.NET MVC更复杂的模型

来自分类Dev

ASP.NET MVC 5实体框架-关系

来自分类Dev

结合使用ASP.NET MVC和实体框架

来自分类Dev

ASP.NET MVC LINQ实体框架递归

来自分类Dev

实体框架中的 System.NotSupportedException (ASP.NET MVC)

来自分类Dev

ASP.NET MVC 实体框架查询搜索

来自分类Dev

为Oracle /实体框架配置ASP .NET 5

来自分类Dev

JsonResult ASP.NET实体框架核心错误

来自分类Dev

没有实体框架的ASP.NET Identity 2.0实现

来自分类Dev

具有相关实体的ASP.NET MVC 4错误更新实体框架模型

来自分类Dev

使用实体框架更新ASP.NET MVC应用程序中的相关实体

来自分类Dev

在实体框架ASP.NET MVC中的LINQ到实体中构造查询

来自分类Dev

跨上下文和程序集的ASP.NET MVC实体框架连接实体

来自分类Dev

在ASP.NET MVC项目中使用实体框架代码优先时登录失败错误

来自分类Dev

如何使用实体框架在ASP.NET MVC中检查删除操作是否成功

来自分类Dev

“你调用的对象是空的。” 嵌套列表ASP.NET MVC LINQ实体框架

来自分类Dev

ASP.NET MVC单元测试项目实体框架错误

来自分类Dev

ASP.NET MVC单元测试项目实体框架错误

来自分类Dev

生成错误Asp.Net MVC 3实体框架自动生成的文件

来自分类Dev

仅在主页命中时触发连接池-ASP.NET MVC5实体框架

Related 相关文章

  1. 1

    ASP.NET MVC 实体框架 ID 不能为空

  2. 2

    没有模型和实体框架的ASP.NET MVC

  3. 3

    带有实体框架的ASP .NET MVC 5中的并发

  4. 4

    ASP.NET Web API 2 CRUD 操作与实体框架

  5. 5

    ASP.NET vNext MVC和实体框架问题

  6. 6

    ASP.NET MVC 5实体框架-关系

  7. 7

    使用实体框架ASP.NET MVC登录过程

  8. 8

    实体框架(ASP.NET MVC)的导航属性问题

  9. 9

    ASP.NET MVC处理时区实体框架

  10. 10

    实体框架和ASP.NET MVC更复杂的模型

  11. 11

    ASP.NET MVC 5实体框架-关系

  12. 12

    结合使用ASP.NET MVC和实体框架

  13. 13

    ASP.NET MVC LINQ实体框架递归

  14. 14

    实体框架中的 System.NotSupportedException (ASP.NET MVC)

  15. 15

    ASP.NET MVC 实体框架查询搜索

  16. 16

    为Oracle /实体框架配置ASP .NET 5

  17. 17

    JsonResult ASP.NET实体框架核心错误

  18. 18

    没有实体框架的ASP.NET Identity 2.0实现

  19. 19

    具有相关实体的ASP.NET MVC 4错误更新实体框架模型

  20. 20

    使用实体框架更新ASP.NET MVC应用程序中的相关实体

  21. 21

    在实体框架ASP.NET MVC中的LINQ到实体中构造查询

  22. 22

    跨上下文和程序集的ASP.NET MVC实体框架连接实体

  23. 23

    在ASP.NET MVC项目中使用实体框架代码优先时登录失败错误

  24. 24

    如何使用实体框架在ASP.NET MVC中检查删除操作是否成功

  25. 25

    “你调用的对象是空的。” 嵌套列表ASP.NET MVC LINQ实体框架

  26. 26

    ASP.NET MVC单元测试项目实体框架错误

  27. 27

    ASP.NET MVC单元测试项目实体框架错误

  28. 28

    生成错误Asp.Net MVC 3实体框架自动生成的文件

  29. 29

    仅在主页命中时触发连接池-ASP.NET MVC5实体框架

热门标签

归档