【发布时间】:2014-08-10 19:18:48
【问题描述】:
我有 c# 代码通过 linq 填充我的数据库,
Post post = new Post();
post.Creator = AccountHelpers.CurrentUser.UserID;
post.Message = message;
post.TimeCreated = DateTime.Now;
context.Posts.InsertOnSubmit(post);
context.SubmitChanges();
但是,当它运行时,数据库显示正确的日期,没有创建任何时间,因此无法按年龄过滤。
例如,今天 20:25 制作的商品在 SQL 数据库中显示为 2014-08-10 00:00:00.000 - 我希望时间也显示在其中。
我的表如下
[MessageID] [int] IDENTITY(1,1) NOT NULL,
[Message] [varchar](255) NOT NULL,
[Creator] [int] NOT NULL,
[TimeCreated] [datetime] NOT NULL,
我错过了什么吗?
【问题讨论】:
-
“按年龄过滤”是什么意思?你预计会发生什么?
-
数据库中的列是什么类型(日期时间或日期)?
-
它是一个日期时间。并按年龄过滤-稍后在我的代码中,我按日期顺序排序,然后产生前 10 个结果。如果没有时间,那么每天超过 10 个帖子就会毁了这个
-
您希望从这个插页中得到什么? TimeStamp - TimeCreated 列或 SQL 时间戳是什么意思?什么是“数据库显示正确的日期,没有任何时间戳”?如果难以口头描述问题,则显示数据库中的行(您希望的一行,提交后结束的另一行)。
-
尝试在不同的时间重新运行。也许您在该日期的 0:00 秒保存了它。如果不是这样! :) 那么它必须是实体映射,确保数据类型没有设置为日期而不是日期时间。甚至仔细检查属性以确保没有任何胭脂属性。
标签: c# sql linq datetime linq-to-sql