相关疑难解决方法(0)

有没有办法将外部函数内联到EF Linq查询中?

假设我有这样的函数:

var filterValue = GetCurrentFilter(state);
Run Code Online (Sandbox Code Playgroud)

然后是EF查询:

var result = context.EntitySet.Where(x=> x.column > filterValue);
Run Code Online (Sandbox Code Playgroud)

这有效,但一旦我试图内联:

var result = context.EntitySet.Where(x=> x.column > GetCurrentFilter(state));
Run Code Online (Sandbox Code Playgroud)

它不是因为EF Linq试图解析GetCurrentFilter到表达式树而无法做到这一点.这一切都是可以理解的.

我的问题是,有没有办法让EF Linq知道在GetCurrentFilter构建树时需要执行函数并在树中使用它的结果?

就像是

var result = context.EntitySet.Where(x=> x.column > EfUtil.ResultOf(GetCurrentFilter(state)));
Run Code Online (Sandbox Code Playgroud)

由于GetCurrentFilter没有参数作为查询的一部分,因此如果EF Linq可以支持它,那么技术上应该可以做到这一点.我怀疑我只是错过了正确的语法.

.net c# linq entity-framework

8
推荐指数
1
解决办法
1096
查看次数

标签 统计

.net ×1

c# ×1

entity-framework ×1

linq ×1