0
我想查询我的实体DbSet并从本地上下文和数据库中获取结果。如何查询DbSet,以便它返回本地和非本地数据
我有这个疑问:
Dim lResults = MyDbContext.MyEntity.Local.Where(Function(x) x.ParentId = lId)
但这只是给了我从以前加载的元素结果。
我想要这个在本地和非本地数据上运行查询。 我不想做MyDbContext.MyEntity.Load()
,因为它加载了数据库中的所有行,在我的情况下可能是成千上万行。
编辑:
我意识到这样的事实,我确实做了以下是由于:
Dim lExpression = Function(x) x.ParentId = lId
Dim lResults = MyDbContext.MyEntity.Where(lExpression).ToList()
这种方式,表达有点不评估?
EDIT2:
的问题是,我使用的是Func键而不是Epxression。 Func不能转换为SQL,因此它会检索整个数据集并对其进行过滤。
为什么不'MyDbContext.MyEntity.Where(功能(X)= x.ParentId LID).Load()'? –
'错误“负载”不是的成员“System.Collections.Generic.IEnumerable(中myEntity所)”' 虽然一个ToList()的工作,但它从数据库加载的一切。 – Oszkar
我不明白。 'MyEntity.Where'应该返回'IQueryable'。 –