实体框架7:获取数据库时间

时间:2016-01-29 04:40:24

标签: .net entity-framework-core

在EF7中获取数据库服务器时间的最佳方法是什么?到目前为止,我发现目前不支持使用输出参数进行查询。

2 个答案:

答案 0 :(得分:1)

如果您只想使用Entity Framework,可以这样做:

  • 有了这个背景:

    // My Dbcontext
    public class EF7Context : DbContext { }
    
  • 实用功能:

    public static DateTime GetDbDateTime()
    {
        using (var context = new EF7Context())
        {
            using (var connection = context.Database.GetDbConnection())
            {
                if (connection.State == ConnectionState.Closed)
                {
                    connection.Open();
                }
    
                var command = connection.CreateCommand();
                command.CommandText = "select SYSUTCDATETIME()";
                return (DateTime)command.ExecuteScalar();
            }
        }
    }
    

答案 1 :(得分:0)

使用ADO.NET方法完成:

public DateTime GetServerUtcNow()
{
    using (var connection = new SqlConnection(_settings.ConnectionString))
    {
        connection.Open();
        var command = connection.CreateCommand();
        command.CommandText = "select SYSUTCDATETIME()";
        return (DateTime)command.ExecuteScalar();
    }
}