LINQ查询在转换为SQL之前要在C#中求值吗?
这很有效LINQ查询在转换为SQL之前要在C#中求值吗?,c#,.net,entity-framework,C#,.net,Entity Framework,这很有效 DateTime dtYesterday = DateTime.Now.AddDays(-1); data = data.Where(d => d.CreatedTime <= dtYesterday); IQueryable和IEnumerable之间的区别在于前者保留了程序员(即您)编写的表达式,以将其呈现给执行查询的查询引擎(即RDBMS)。找出DateTime.Now.AddDays(-1)是一个需要计算的函数是可行的,但与使用熟悉且易于识别的语法的简单而直接的解
DateTime dtYesterday = DateTime.Now.AddDays(-1);
data = data.Where(d => d.CreatedTime <= dtYesterday);
IQueryable
和IEnumerable
之间的区别在于前者保留了程序员(即您)编写的表达式,以将其呈现给执行查询的查询引擎(即RDBMS)。找出DateTime.Now.AddDays(-1)
是一个需要计算的函数是可行的,但与使用熟悉且易于识别的语法的简单而直接的解决方案相比,这太神奇了:
DateTime dtYesterday = DateTime.Now.AddDays(-1);
data = data.Where(d => d.CreatedTime <= dtYesterday);
DateTime dtdayed=DateTime.Now.AddDays(-1);
数据=数据。其中(d=>d.CreatedTime)这一切都取决于IQueryable
公开的IQueryProvider
。
data = data.Where(d => d.CreatedTime <= ForceEvaluate(DateTime.Now.AddDays(-1)));
DateTime dtYesterday = DateTime.Now.AddDays(-1);
data = data.Where(d => d.CreatedTime <= dtYesterday);