Kel*_*ron 7 c# linq entity-framework-6
我正在运行一些非常简单的测试代码来查看linq查询中常量的影响,而我找不到重载...
这篇MSDN文章特别提到了skip/take的lambda重载,但我似乎找不到它.
"特别注意在进行分页时使用Skip和Take.在EF6中,这些方法有一个lambda重载,有效地使缓存的查询计划可重用,因为EF可以捕获传递给这些方法的变量并将它们转换为SQL参数."
他们遵循以下代码示例:
var customers = context.Customers.OrderBy(c => c.LastName);
for (var i = 0; i < count; ++i)
{
var currentCustomer = customers.Skip(() => i).FirstOrDefault();
ProcessCustomer(currentCustomer);
}
Run Code Online (Sandbox Code Playgroud)
我的测试代码:
for(int i = 0; i<100; i++)
{
var result = dc.Products
//.Select(p => p.Name)
.OrderBy(p => p.Name)
.Skip(() => i)
.ToList();
}
Run Code Online (Sandbox Code Playgroud)
错误:无法将lambda表达式转换为类型'int',因为它不是委托类型
我是否在阅读失败,或者是否存在包含重载扩展方法的地方?我在使用EF 6.1.1.
| 归档时间: |
|
| 查看次数: |
2112 次 |
| 最近记录: |