我们在应用程序的 ADO.NET 数据服务中使用查询拦截器,根据用户有权访问的数据过滤每个实体的结果集。但是,我们的一个查询拦截器抛出了以下异常:
内部 .NET Framework 数据提供程序错误 1004、0,无法为不属于实体集的查询映射视图的实体构造函数指定相关实体。
何时/为什么抛出此异常?
为了给这篇文章添加一些上下文,我在我的 URL 中使用了以下过滤条件:
$filter=(OnlineItems/Products/ProductId eq 856)
查询拦截器在哪里:
[QueryInterceptor("OnlineItems")]
public Expression<Func<OnlineItems, bool>> QueryOnlineItems()
{
return item => (item.Products.Any(p => p.Price > 10));
}
作为黑暗中的刺,我想这将是对产品进行过滤以及对产品进行扩展的组合,但我不确定这如何导致整个事情崩溃。