Entity framework 6 IQueryable 不更新单独调用

Entity framework 6 IQueryable does not update with separate calls

我有一个不寻常的问题,如果我对 IQueryable 进行单独调用,创建 IQueryable 的初始调用将生成特定于第一个调用的 SQL。这个可以在调试观察内部查询的时候看到。

当我进行内联调用时,例如:

IQueryable<TableEntity> tEnt = dbCtx.table.AsNoTracking().Include(t=> t.someRefData).Where(t => t.Id >= 10);

这会生成正确的内部 SQL 查询。

但是,如果我使用单独的不同调用动态地进行查询,例如:

IQueryable<TableEntity> tEnt = dbCtx.table.AsNoTracking();
tEnt.Include(t=> t.someRefData);
tEnt.Where(t => t.Id >= 10);

内部 SQL 查询不会在 tEnt 声明之外更新以反映这些先前的调用。

我是不是完全误解了 IQueryable 的工作原理?

tEnt = tEnt.Include(t=> t.someRefData);