问题
What is the best method to get the database server time in EF7? I discovered so far that is currently no support for query with output parameters.
回答1:
If you only want to use Entity Framework, you can do it like that:
Having this context:
// My Dbcontext public class EF7Context : DbContext { }
And the utility function:
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(); } } }
回答2:
Done using ADO.NET approach:
public DateTime GetServerUtcNow()
{
using (var connection = new SqlConnection(_settings.ConnectionString))
{
connection.Open();
var command = connection.CreateCommand();
command.CommandText = "select SYSUTCDATETIME()";
return (DateTime)command.ExecuteScalar();
}
}
来源:https://stackoverflow.com/questions/35077000/entity-framework-7-get-database-time