GETDATE()
LINQ中的替代品是什么?
我从以下帖子中得到了一些解决方法:
有没有更好的方法?其中,不需要一个ExecuteQuery
或单独的函数调用?
GETDATE()
LINQ中的替代品是什么?
我从以下帖子中得到了一些解决方法:
有没有更好的方法?其中,不需要一个ExecuteQuery
或单独的函数调用?
据我所见,使用 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()
。
来自 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]
你可以试试这个:
using (DataContext dboContext = new DataContext())
{
var dQuery = dboContext.Database.SqlQuery<DateTime>("SELECT getdate()");
return dQuery.AsEnumerable().First();
}