Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework OData-实体框架核心-如何将OData参数从控制器注入Linq查询_Entity Framework_Asp.net Core_Entity Framework Core_Odata_Entity - Fatal编程技术网

Entity framework OData-实体框架核心-如何将OData参数从控制器注入Linq查询

Entity framework OData-实体框架核心-如何将OData参数从控制器注入Linq查询,entity-framework,asp.net-core,entity-framework-core,odata,entity,Entity Framework,Asp.net Core,Entity Framework Core,Odata,Entity,我一直在使用OData对实体框架核心支持的asp.net API中的对象(包括关系)进行广泛的筛选/排序 虽然最终结果很好,但我当前的实现在SQL连接之后执行所有额外的过滤等操作。这意味着我必须提前下载所有结果 有没有一种方法可以在我的SQL数据库之前插入OData,这样我的过滤器就会影响实际的查询,从而显著减少带宽?此外,我不必提前扩展所有内容 谢谢 听起来你可能在做一些与OData的意图根本不同的事情,我想说的是错的,但这太强烈了;)您能否提供一个代码或模式示例,说明为什么不能将$filte

我一直在使用
OData
对实体框架核心支持的asp.net API中的对象(包括关系)进行广泛的筛选/排序

虽然最终结果很好,但我当前的实现在SQL连接之后执行所有额外的过滤等操作。这意味着我必须提前下载所有结果

有没有一种方法可以在我的SQL数据库之前插入
OData
,这样我的过滤器就会影响实际的查询,从而显著减少带宽?此外,我不必提前扩展所有内容


谢谢

听起来你可能在做一些与OData的意图根本不同的事情,我想说的是错的,但这太强烈了;)您能否提供一个代码或模式示例,说明为什么不能将$filter和$expand传递到数据库?@Chris Schaller我的一些对象中存在大量关系。有时我可能只想返回最基本的对象,而不进行任何过滤。对于当前的oData使用,我必须包括所有EntityFramework关系,无论我是否查询它们。所以,当我不想通过例如…user.posts…来过滤时,我可能不需要所有的user.posts数据。我可以制作多个控制器,我可以自己添加自定义查询参数。我只是想oData可能有自己的解决方案。同样,你能提供一个代码示例。。。“我必须包括所有EntityFramework关系,无论我是否查询它们”意味着您正在阻止OData这样做。在较高的级别上,OData将URL查询转换为SQL以减少内存处理和操作。一个例子将突出该场景,我们可以对纯OData解决方案或替代方法提出建议。