LINQ to SQL设置日期但不是时间......有时候

时间:2011-04-06 13:27:40

标签: .net linq-to-sql datetime

奇怪的问题。我有3个位置/列,我这样做...

var o = db.Orders.Where(a => a.OrderID == orderID).First();
o.dateOne = DateTime.Now;
db.SubmitChanges();

在这个地方一切都很好......数据库中的价值是说2011-04-01 12:12:33

在其他两个地方,我也是这样做的......

o.dateTwo = DateTime.Now;
o.dateThree = DateTime.Now;
db.SubmitChanges();

这两个对象得到正确的日期,但在数据库中它表示2011-04-01 00:00:00

我尝试在SubmitChanges之前显示对象的值。此时值为WITH时间,例如2011-04-01 12:12:33

其他信息:DB是MS sql,所有列都是日期/时间,.NET 3.5 ......

任何经历过同样行为的人?

1 个答案:

答案 0 :(得分:0)

您可以使用SQL事件探查器捕获发送到SQL Server的SQL语句吗?然后,您就可以知道截断发生的位置。

exec sp_executesql'
UPDATE [MyTable]  SET [dateTwo] = @p0
WHERE ...',
...--and then defining the value of your datetime
@p0 = '2011-04-01 00:00:00'