【发布时间】:2017-08-15 16:22:49
【问题描述】:
我有 web api 控制器,我需要将日期写入表格。
我试着这样做
[ResponseType(typeof(TimeTable))]
public IHttpActionResult PostStartPause(TimeTable startPause)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
if (ModelState.IsValid)
{
DateTime dt = DateTime.Today.Date;
TimeTable c = (from x in db.TimeTables
where x.Company == startPause.Company && x.INN == startPause.INN
select x).First();
c.StartPause = startPause.StartPause;
c.Today = dt;
db.SaveChanges();
}
//db.TimeTables.Add(startPause);
//db.SaveChanges();
return Json(new { Result = "Success", Message = "Saved Successfully" });
// return CreatedAtRoute("DefaultApi", new { id = startPause.Id }, startPause);
}
对于日期部分,我尝试使用此代码
DateTime dt = DateTime.Today.Date;
但它会写日期和时间
这是 TimeTable 类
public partial class TimeTable
{
public int Id { get; set; }
public string Company { get; set; }
public string INN { get; set; }
public string StartDay { get; set; }
public string StartPause { get; set; }
public string EndDay { get; set; }
public string EndPause { get; set; }
public Nullable<System.DateTime> Today { get; set; }
}
如何只将日期写入数据库?
【问题讨论】:
-
因为
DateTime总是有一个时间分量。如果您想在没有“时间”的情况下将值存储在数据库中,请将字段DATE类型(SqlServer) -
数据库中的
Today列是否设置为datetime类型?尝试将其更改为date(C# 只有DateTime)。 -
或者您可以将其转换为字符串
DateTime.Today.Date.ToString("yyyyMMddHHmmss"); // case sensitive,然后在Sql Server中编写一个触发器来处理它,即进行反向转换
标签: c# asp.net-mvc asp.net-web-api