相关疑难解决方法(0)

LINQ表达式语法如何与Include()一起用于预先加载

我在下面有一个查询,但我想对eager load属性执行Include().Actions有一个导航属性,User(Action.User)

1)我的基本查询:

from a in Actions
join u in Users on a.UserId equals u.UserId
select a
Run Code Online (Sandbox Code Playgroud)

2)首次尝试:

from a in Actions.Include("User")
join u in Users on a.UserId equals u.UserId
select a
Run Code Online (Sandbox Code Playgroud)

但是没有填充Action.User .

3)尝试将"User"加载到查询之外的导航属性中:

(from a in Actions
join u in Users on a.UserId equals u.UserId    
select a).Include("User")
Run Code Online (Sandbox Code Playgroud)

在LINQPad尝试包含的我收到一个错误:

'System.Linq.IQueryable'不包含'Include'的定义,也没有扩展方法'Include'接受类型'System.Linq.IQueryable'的第一个参数可以找到(按F4添加using指令或程序集引用)

我认为这是因为LINQ不支持Include().

所以我在VS中尝试过; 查询2运行,但返回未填充的用户属性.查询3扩展方法似乎不存在,虽然它确实存在于Action本身而没有查询.

c# linq entity-framework linqpad

32
推荐指数
3
解决办法
7万
查看次数

标签 统计

c# ×1

entity-framework ×1

linq ×1

linqpad ×1