MyD*_*ons 0 c# sql-server datetime
我正在努力为什么我DateTime被错误地保存到我的数据库中.
我将值20/12/2015(作为字符串)与格式()一起传递给它dd/MM/yyyy并将其解析为a DateTime但它始终保存到我的SQL Server数据库中06/12/2015
public ActionResult SaveSettings(ProjectPlan projectPlan)
{
projectPlan.StartDate = DateTime.ParseExact(projectPlan.ShortDateTime, projectPlan.DateFormat, null); //ShortDateTime is 20/12/2015, DateFormat is dd/MM/yyyy
var plan = this._dc.ProjectPlans.Single(a => a.Id == projectPlan.Id);
plan = projectPlan;
this._dc.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
嗯,你不是指更新StartDate实体的属性然后将其保存回数据库:
public ActionResult SaveSettings(ProjectPlan projectPlan)
{
var plan = this._dc.ProjectPlans.Single(a => a.Id == projectPlan.Id);
plan.StartDate = DateTime.ParseExact(projectPlan.ShortDateTime, projectPlan.DateFormat, null);
this._dc.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
在这一行,你基本上杀死了EF所知道的每个上下文:
plan = projectPlan;
Run Code Online (Sandbox Code Playgroud)
因此,如果您查看针对SQL数据库生成的实际SQL查询,您会注意到正好更新了0行.