【MVC5】datetime2数据在修改保存时变为默认值“0001-01-01 00:00 ”,如何解决?

如题。添加视图里添加这行时数据时显示当前时间,精确到分,很正常。但每次保存时都会变为那个默认值,这个值是不需要修改的我也没有修改过。很多方法都试过了,请问大神这个问题如何解决?

实体类日期字段:

        [Required]
        [ReadOnly(true)]
        [DisplayName("上传时间")]
        [Column(TypeName ="DateTime2")]
        [DataType(DataType.Date)]
        [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd HH:mm}", ApplyFormatInEditMode = false)]
        public DateTime UploadDate { get; set; }

控制器的保存方法:

        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Edit([Bind(Include = "ID,MovieTitle,ClassNumber,Classify,UploadDate,VideoPath,Synopsis")] Movie movies, HttpPostedFileBase file)
        {
            if (ModelState.IsValid)
            {
                db.Entry(movies).State = EntityState.Modified;

                db.SaveChanges();
                return RedirectToAction("Index");
            }
            return View(movies);
        }

视图中的方法:

@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()
    <div class="form-horizontal">

        <hr />
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })
        @Html.HiddenFor(model => model.ID)
        @Html.HiddenFor(model=>model.UploadDate)

 <div class="form-group">
                @Html.LabelFor(model => model.UploadDate, htmlAttributes: new { @class = "control-label col-md-2" })

                <div class="col-md-10" style="margin-top:6px;">
                    @Html.DisplayFor(model => model.UploadDate, new { htmlAttributes = new { @class = "form-control"} })
                    @Html.ValidationMessageFor(model => model.UploadDate, "", new { @class = "text-danger" })
                </div>
            </div>

                                <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="保存" class="btn btn-default" />
            </div>
        </div>
    </div>

UpdateModel(movies);
if (ModelState.IsValid)
...