C# 用简单的话来说,什么是查询拦截?

C# 用简单的话来说,什么是查询拦截?,c#,linq,wcf,entity-framework-6,queryinterceptor,C#,Linq,Wcf,Entity Framework 6,Queryinterceptor,我遇到过这个话题,我确实读过MSDN网站上的文档,但我无法理解它。到目前为止,我所能理解的是,这些可能类似于SQL中的触发器或存储过程,但我不确定我认为在多大程度上是正确的 所以我决定发布这个问题,以便有人用简单的语言向我解释什么是查询拦截?它仅与WCF相关还是在EF中也可用?查询拦截在Entity Framework 6中可用,并且几乎完全按照名称所示执行。每当EF生成一个针对DbContext执行的查询时,您都可以截取并修改查询以及查询返回的结果。这里有一个你可能会发现有用的算术:@ajli

我遇到过这个话题,我确实读过MSDN网站上的文档,但我无法理解它。到目前为止,我所能理解的是,这些可能类似于SQL中的触发器或存储过程,但我不确定我认为在多大程度上是正确的


所以我决定发布这个问题,以便有人用简单的语言向我解释什么是查询拦截?它仅与WCF相关还是在EF中也可用?

查询拦截在Entity Framework 6中可用,并且几乎完全按照名称所示执行。每当EF生成一个针对DbContext执行的查询时,您都可以截取并修改查询以及查询返回的结果。这里有一个你可能会发现有用的算术:@ajliptak:这篇文章没有用,已经遇到了,但是
你可以截取并修改查询以及查询返回的结果
,这意味着什么,你能给我一个真实世界的例子吗?@ajliptak:如果我想进行动态查询或重用查询,传统上,我可以创建一个返回表达式的方法,为什么我需要它来使用截取,为什么他们必须向EF中添加一些内容?查询截取在Entity Framework 6中可用,并且几乎完全按照其名称执行。每当EF生成一个针对DbContext执行的查询时,您都可以截取并修改查询以及查询返回的结果。这里有一个你可能会发现有用的算术:@ajliptak:这篇文章没有用,已经遇到了,但是
你可以截取并修改查询以及查询返回的结果
,这意味着什么,你能给我一个真实世界的例子吗?@ajliptak:如果我想进行动态查询或重用查询,传统上,我可以创建一个返回表达式的方法,为什么我需要它来使用截取,为什么他们必须向EF中添加一些内容?查询截取在Entity Framework 6中可用,并且几乎完全按照其名称执行。每当EF生成一个针对DbContext执行的查询时,您都可以截取并修改查询以及查询返回的结果。这里有一个你可能会发现有用的算术:@ajliptak:这篇文章没有用,已经遇到了,但是
你可以截取并修改查询以及查询返回的结果
,这意味着什么,你能给我一个真实世界的例子吗?@ajliptak:如果我想进行动态查询或重用查询,我传统上可以创建一个返回表达式的方法,为什么我需要它来使用截取,为什么他们必须向EF添加一些东西?