1

I want to execute custom query to get datetime of DB server select Getdate() using entity framework. How can I do this?

Thanks

Muhammad Akhtar
  • 51,913
  • 37
  • 138
  • 191

3 Answers3

4
ObjectQuery<DateTime> date = new ObjectQuery<DateTime>("select Getdate()", context)
DateTime now = date.Single();
chris
  • 36,094
  • 53
  • 157
  • 237
Kikaimaru
  • 1,841
  • 1
  • 16
  • 28
2

You can try somethink like that :

public static partial class ObjectContextExtension
{
    public static T ExecuteScalarCommand<T>(this ObjectContext context, string command)
    {
        DbConnection connection = ((EntityConnection)context.Connection).StoreConnection;
        if (connection.State == ConnectionState.Closed)
            connection.Open();

        DbCommand cmd = connection.CreateCommand();
        cmd.CommandText = command;
        cmd.CommandType = CommandType.Text;

        return (T)cmd.ExecuteScalar();
    }

It add the method "ExecuteScalarCommand" to the ObjectContext.
You just give the SQL request as parameter and the return type for the generic type.

Julien N
  • 3,880
  • 4
  • 28
  • 46
-1
Public Function GetDateTimeFromServer() As DateTime
    Using context As New NorthwindEntities()
        Dim dateQry As IQueryable(Of DateTime) = From bogus In context.Products_
            Select DateTime.Now
        Dim result As DateTime = dateQry.First()
        Return result
    End Using
End Function

You can use a query against a table (e.g. Products) and make sure you don't select any columns in the table as shown in the above code. It is not elegant but it works.

walkerk
  • 360
  • 3
  • 11