Bas*_*ili 7 .net c# linq entity-framework
我有以下代码:
public void SalesCount(string customerId)
{
..
..
return ...;
}
var resultQuery = dataContext.Customers
.Where (c => c.Name == "Alugili")
.Where (c => SalesCount(c.CustomerId) < 100);
Run Code Online (Sandbox Code Playgroud)
当我执行resultQuery时,我得到了一个SQL异常的翻译.
我需要在我可以做的地方调用SalesCount这是否有解决此问题的方法!
xan*_*tos 12
简直就是你不能.你不能直接在SQL服务器上执行C#代码,你只能使用Expressions一些特殊的识别函数......
除非您在LINQ-to-Objects中转换查询(至少部分)...
var resultQuery = dataContext.Customers
.Where (c => c.Name == "Alugili")
.AsEnumerable()
.Where (c => SalesCount(c.CustomerId) < 100);
Run Code Online (Sandbox Code Playgroud)
请注意,最后一个Where将在客户端执行,因此将从DB中获取许多无用的行.
| 归档时间: |
|
| 查看次数: |
6688 次 |
| 最近记录: |