【问题标题】:DateTime.Now into SQL datetime columnDateTime.Now 进入 SQL 日期时间列
【发布时间】: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


【解决方案1】:

修复来自在源代码管理中正在编辑的 DBML,而不是告诉我,实体映射已更改..

好尴尬!

【讨论】:

  • 然后删除问题。
  • @MattJohnson:今天有一个问题表现出完全相同的行为。还有 EF 和 DateTime 字段(现在找不到)。也许它可以留下来,无论谁遇到它都会大开眼界。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-22
  • 2011-02-15
  • 2015-03-17
  • 1970-01-01
  • 1970-01-01
  • 2015-02-08
  • 2023-04-04
相关资源
最近更新 更多