5

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

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

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

4

3 回答 3

9

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

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

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

翻译:

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

如果您只想获取数据库日期,那就另当别论了。在那种情况下,我看不出有什么能胜过执行查询SELECT GetDate()

于 2012-10-17T14:12:08.830 回答
0

来自 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

并且等于

从 [dbo].[Reports_MailList] 作为 [Extent1] 选择 SysDateTime() AS [C1]

于 2013-10-17T10:34:02.027 回答
0

你可以试试这个:

using (DataContext dboContext = new DataContext())
                {
                    var dQuery = dboContext.Database.SqlQuery<DateTime>("SELECT getdate()");
                    return dQuery.AsEnumerable().First();
                }
于 2019-10-10T03:13:38.303 回答