在应用程序中获取DB Server DateTime

时间:2010-07-14 09:54:03

标签: c# sql-server winforms entity-framework

我正在使用Entity框架并且数据库AddedDate中有1个字段是DateTime而不是null,所以我需要传递DateTime值。

但问题是我必须通过数据库服务器日期时间。如何在此场景中进行管理,或者如何通过数据库服务器数据时间来传递此信息。

我需要一些独特的解决方案,因为我是多种形式的。

编辑:我在应用程序中插入/更新时需要DB服务器日期时间,以便我可以传递给实体框架对象。

由于

5 个答案:

答案 0 :(得分:4)

由于您使用的是实体框架,因此可以执行以下操作:

var dateQuery = yourDbContext.CreateQuery<DateTime>("CurrentDateTime() ");
DateTime dateFromSql = dateQuery .AsEnumerable().First();

答案 1 :(得分:0)

通常,如果您使用实体框架并在字段中使用DateTime,它将自动为您执行前后转换,就像对整数,双精度等一样。

除非您指的是特殊内容,即char [40]字段必须填充特定格式的DateTime值。

答案 2 :(得分:0)

您可以通过运行SELECT GETDATE())脚本来获取数据库服务器的日期和时间。

考虑你有一个包含4个列的表 - 前3个是字符串,最后一个是datetime,你可以通过发出这样的INSERT SQL来解决你的问题:

INSERT INTO myTable VALUES('x','y','z',SELECT GETDATE())

答案 3 :(得分:0)

您无法使用存储过程,因此您可以非常轻松地获取数据库服务器日期时间。

答案 4 :(得分:0)

在查询中使用getdate()。例如:

INSERT INTO your_table (AddedDate, ...other columns) VALUES (getdate(), ...other values)

这基本上要求服务器将其自己的当前日期插入到字段中;您无需在本地检索它。