【发布时间】:2026-02-17 21:55:03
【问题描述】:
我有一个关于实体框架查询的问题。
我有一个使用 EF 提供的扩展方法的查询,所以我可以使用类型安全包含和 where 子句。但是由于 Include 带有一个 lambda 参数,它是 IQueryable 上的一个扩展方法,它返回一个 IQueryable 以便链接诸如 Where 之类的方法。包含字符串参数是 ObjectQuery 上的一个方法,它返回一个 ObjectQuery。 Execute 是 ObjectQuery 上的一种方法,而不是 IQueryable,因此在使用 IQueryable 方法时它不可用。
有没有办法调用 .Execute 但使用 IQueryable?
return
this.Storage.Customer.OfType<Preferred>()
.Include(b => b.Order)
.Where(cust => cust.Id == customerId && cust.CustomerType== (int)cusType)
.SingleOrDefault();
谢谢,
【问题讨论】:
-
你想做什么?
-
我想使用合并选项调用 .Execute,但是当您在 where 中使用 lambda 并包含使用扩展方法时,这不可用。仅当您将字符串用于包含和位置时才可用...
标签: c# .net entity-framework entity-framework-4.1 entity-framework-5