我想使用实体框架执行自定义查询以获取数据库服务器select Getdate()
的日期时间。我怎么能这样做?
由于
答案 0 :(得分:4)
ObjectQuery<DateTime> date = new ObjectQuery<DateTime>("select Getdate()", context)
DateTime now = date.Single();
答案 1 :(得分:2)
你可以尝试这样的想法:
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请求作为参数和泛型类型的返回类型。
答案 2 :(得分:-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
您可以对表格(例如“产品”)使用查询,并确保不选择表格中的任何列,如上面的代码所示。它不优雅,但有效。