9
|
BlueRaja - Danny Pflughoeft · 技术社区 · 14 年前 |
![]() |
1
6
第一次成功是因为它
第二个不是因为它将您的WHERE语句下推到数据库中。当对lambda表达式进行计算时,它的展开方式如下:
这是一个好消息 article 这说明 Expressions FUNC Here is another SO post that helps to explain the difference [编辑(blueraja)]
新编辑似乎是正确的。澄清:似乎
存在过载
|
![]() |
2
1
只是在这里把它形成一个“答案”,而不是一个评论。 我认为这是.NET 4中的一个新功能,框架意识到这个函数不能转换为SQL,但可以在内存中轻松处理。所以它将整个数据集获取到本地机器并继续查询处理。 这是第一个代码片段,当转换为表达式树时,它会直接说它运行一个外部方法,而第二个代码片段并不是那么“直接”。我想这就是为什么在第一种情况下,L2E可以很容易地理解正在发生的事情,并决定要做什么,而在第二种情况下,它“认为”最好发送一个异常,让开发人员更仔细地考虑一下。^^ |
![]() |
Bad Dub · 使用LINQ到实体的时间跨度总和 7 年前 |
![]() |
Samuel · 使用C#和导航属性查询实体框架 7 年前 |
![]() |
DooDoo · 获取包含另一个列表的项的列表 7 年前 |
![]() |
StepUp · Select()中的条件Select() 7 年前 |
![]() |
Pod · Linq to SQL获取按日期分组的不同记录 7 年前 |
![]() |
Vague · 使用LINQ从产品列表中删除旧项目 7 年前 |