2012-03-30 77 views
-1

我正在使用EF,并且有必要从数据库更新日期的情况。将DateTime格式化为SQL

public DateTime? DatePosted { get; set; } 

这是我必须更新数据库中的字段。但我的问题是它不会更新。我有我必须使用数据库日期时间格式是这样使用正确的格式的感慨:

yyyy-mm-dd hh:mm:ss 

问题是如何我强迫我的日期时间与上述规定有相同的模式?我不想将它转换为字符串,因为它不会在我的实体中具有相同的数据类型。

+1

数据库中的字段是Datetime还是varchar? – 2012-03-30 04:09:01

+1

DateTime是DateTime,因此不需要格式化。如果您选择它,SQL服务器可能会以不同的方式显示它,但它仍然保持值的完整性。 – TGH 2012-03-30 04:12:28

+1

请不要用“C#”等标题来标题。这就是标签的用途。 – 2012-03-30 04:13:36

回答

2

很难回答,但没有看到你在做什么,但通常如果你只是做一些像 DatePosted=DateTime.Now;-它应该工作和更新您的记录在数据库中。

如果没有比问题是最喜欢的不是格式化

+0

你是对的。这不是格式。该属性是数据库计算。将为此寻找解决办法。 – mabc21 2012-03-30 06:41:49

2

DateTime数据类型保存日期和时间。它不包含格式化的字符串。

您的问题与格式不符。确切地说,你的意思是“它不会更新”?

2

无论如何(作为日期和时间),数据库都存储datetime。只有当你出于输出原因而使用它时,它才会有不同的格式。你应该仔细检查你的数据库列是否设置为日期时间。这是我能看到这不会更新的唯一原因。那或者你有这种映射在Ef不更新。

否则,您需要发布您正在尝试执行的示例代码