Я хочу выполнить пользовательский запрос, чтобы получить datetime сервера БД select Getdate()
с использованием сущности framework. Как я могу это сделать?Выполнение пользовательского запроса - Entity Framework
Благодаря
Я хочу выполнить пользовательский запрос, чтобы получить datetime сервера БД select Getdate()
с использованием сущности framework. Как я могу это сделать?Выполнение пользовательского запроса - Entity Framework
Благодаря
ObjectQuery<DateTime> date = new ObjectQuery<DateTime>("select Getdate()", context)
DateTime now = date.Single();
Typo: date.Single() –
Я получаю это исключение «Синтаксис запроса недействителен». –
Вы можете попробовать somethink так:
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();
}
Добавить метод "ExecuteScalarCommand" в ObjectContext.
Вы просто указываете запрос SQL как параметр и тип возвращаемого значения для общего типа.
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
Вы можете использовать запрос к таблице (например, продукты) и убедитесь, что вы не выбрать столбцы в таблице, как показано в приведенном выше коде. Он не изящный, но он работает.
http://stackoverflow.com/questions/200617/how-do-i-use-sqls-getdate-and-dateadd-in-a-linq-to-sql-expression Второй ответ. – MrFox
Я использую Entity Framework, скорее LINQ. это для LINQ –
Какой у вас поставщик БД? MS SQL Server? MySQL? Oracle? ... – Yakimych