When I update my website, it hints me this problem "{"The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.\r\nThe statement has been terminated."}"
The screenshot is list below, there is a value named RecordDate, it has value, but I will not change anything about that value so I didn't display it on the screen.
The problem is MVC automatically update that value for me, and the value of the date becomes 0000-00-01 i think, maybe something else, how to prevent it? just keep the origin value and update other columns.

The model class looks like this
 public class ShiftRecord
{
    public int ID { get; set; }
    public int EmployeeID { get; set; }
    [Display(Name="Company Vehicle?")]
    [UIHint("YesNo")]
    public bool IsCompanyVehicle { get; set; }
    [Display(Name="Own Vehicle?")]
    [UIHint("YesNo")]
    public bool IsOwnVehicle { get; set; }
    //Problem comes from this line
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString="{0:yyyy-MM-dd}")]
    public DateTime RedordDate { get; set; }
    [Display(Name="Day Type")]
    public Nullable<DayType> DayType { get; set; }
    [Display(Name="Normal Hrs")]
    public Nullable<int> NormalHours { get; set; }
    [Display(Name="Time and Half Hrs")]
    public Nullable<int> TimeAndHalfHours { get; set; }
    [Display(Name="Double Time Hrs")]
    public Nullable<int> DoubleTimeHours { get; set; }
    [Display(Name="Shift Hrs")]
    public Nullable<int> ShiftHours { get; set; }
    public string Comment { get; set; } // System manager can leave any comment here
    public bool IsRead { get; set; } // has this shift record been read
    public virtual Employee Employee { get; set; }
    public virtual ICollection<JobRecord> JobRecords { get; set; }
}
In the controller, I didn't change anything about the model, so it looks like this:
      [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Edit([Bind(Include = "ID,EmployeeID,IsCompanyVehicle,IsOwnVehicle,RecordDate,DayType,NormalHours,TimeAndHalfHours,DoubleTimeHours,ShiftHours,Comment,IsRead")] ShiftRecord shiftrecord)
    {
        if (ModelState.IsValid)
        {
            db.Entry(shiftrecord).State = EntityState.Modified;
            db.SaveChanges();
            return RedirectToAction("Index");
        }
        ViewBag.EmployeeID = new SelectList(db.Employees, "ID", "LastName", shiftrecord.EmployeeID);
        return View(shiftrecord);
    }
And I didn't change Edit view as well, the only thing is I made RecordDate unchangeable, changed it from @Html.EditorFor to @Html.DisplayFor
<div class="form-group">
                    @Html.LabelFor(model => model.RedordDate, new { @class = "control-label col-md-2" })
                    <div class="col-md-10">
                        @Html.DisplayFor(model => model.RedordDate)
                        @Html.ValidationMessageFor(model => model.RedordDate)
                    </div>
                </div>
 
     
     
    