Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql LINQ中的GETDATE()_Sql_Linq - Fatal编程技术网

Sql LINQ中的GETDATE()

Sql LINQ中的GETDATE(),sql,linq,Sql,Linq,LINQ中的GETDATE()的替代选项是什么 我从以下帖子中找到了一些解决方法: 是否有更好的方法?在这种情况下,不需要执行执行任务或单独的函数调用?就我所见,使用linq to sql,您所指的文章就是一种方式。我看不出还有什么比这更好的了。这是一个相当优雅的解决方案 有了实体框架,就有可能使用。除此之外,即使使用DateTime.Now在linq to entities(不是linq to sql)中,它也会被转换为GetDate: context.Companies.Select

LINQ中的
GETDATE()
的替代选项是什么

我从以下帖子中找到了一些解决方法:


是否有更好的方法?在这种情况下,不需要执行
执行任务
或单独的函数调用?

就我所见,使用linq to sql,您所指的文章就是一种方式。我看不出还有什么比这更好的了。这是一个相当优雅的解决方案

有了实体框架,就有可能使用。除此之外,即使使用
DateTime.Now
在linq to entities(不是linq to sql)中,它也会被转换为
GetDate

context.Companies.Select (c => DateTime.Now);
翻译为:

SELECT 
GetDate() AS [C1]
FROM [dbo].[Company] AS [Extent1]
如果只想获取数据库日期,情况就不同了。在这种情况下,我看不出有什么能比从VB执行查询更好

私有函数GetServerDate()作为日期时间

    Using context As New DirectEDISQLEntities
 Dim Query = context.Reports_MailList.[Select](Function(c) DateTime.Now).FirstOrDefault
        Return Query
    End Using

End Function
等于

从[dbo]中选择SysDateTime()作为[C1]。[Reports\u MailList]作为 [扩展1]

您可以尝试以下方法:

using (DataContext dboContext = new DataContext())
                {
                    var dQuery = dboContext.Database.SqlQuery<DateTime>("SELECT getdate()");
                    return dQuery.AsEnumerable().First();
                }
使用(DataContext dboContext=newdatacontext())
{
var dQuery=dboContext.Database.SqlQuery(“选择getdate()”);
返回dQuery.AsEnumerable().First();
}

一种不需要“ExecuteQuery”或单独函数调用的方法。没有额外的函数调用,您只需这样键入即可。这将是一个单一的查询。签入SQL profiler.Linq到SQL或实体框架或其他什么?