【发布时间】:2017-10-17 19:26:32
【问题描述】:
我正在尝试使用来自 linq 查询的范围变量作为参数;
简单的东西;
private static Expression<Func<context.Table1, bool>> funstuff(context.Table2 data)
{
return x => true;
}
使用它就像另一个简单的例子,交叉连接;
var fun = from table2 in context.Table2
from table1 in context.Table1.Where(funstuff(table2))
select table1;
var f = fun.ToList();
我收到了这个错误;
从范围“”引用的“context.Table2”类型的变量“table2”, 但没有定义
实体框架6下是否可以使用范围变量作为参数?
编辑
context是实体框架的dbcontext
这个确切的代码确实有效;
var fun = from table2 in context.Table2
from table1 in context.Table1.Where(x => table2.Id == 1)
select table1;
var f = fun.ToList();
这不起作用;
private static Expression<Func<context.Table1, bool>> funstuff(context.Table2 data)
{
return x => data.Id == 1;
}
var fun = from table2 in context.Table2
from table1 in context.Table1.Where(funstuff(table2))
select table1;
var f = fun.ToList();
我期待它会起作用。
【问题讨论】:
标签: c# linq entity-framework-6