LINQ中的GETDATE()

时间:2012-10-17 06:23:31

标签: sql linq

LINQ中GETDATE()的替代是什么?

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

是否有 更好的 方法?其中,不需要ExecuteQuery或单独的函数调用?

3 个答案:

答案 0 :(得分:7)

据我所知,使用linq to sql你所指的帖子是要走的路。我看不出有什么比这更好的了。这是一个非常优雅的解决方案。

使用实体框架可以使用SqlFunctions.CurrentTimestamp。除此之外,即使你在linq中使用DateTime.Now实体(不是linq到sql),它也会被翻译为GetDate

context.Companies.Select (c => DateTime.Now);

转换:

SELECT 
GetDate() AS [C1]
FROM [dbo].[Company] AS [Extent1]

如果想要获取数据库日期,那么这是另一回事。在这种情况下,我看不出有什么能够执行查询SELECT GetDate()

答案 1 :(得分:0)

FROM VB

  

私有函数GetServerDate()As DateTime

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

End Function

等于

  

SELECT SysDateTime()AS [C1] FROM [dbo]。[Reports_MailList] AS   [Extent1]

答案 2 :(得分:0)

您可以尝试以下方法:

using (DataContext dboContext = new DataContext())
                {
                    var dQuery = dboContext.Database.SqlQuery<DateTime>("SELECT getdate()");
                    return dQuery.AsEnumerable().First();
                }