如何写“在” WCF 数据服务中的查询?

发布于 2024-10-15 20:34:14 字数 1578 浏览 4 评论 0原文

如何在 Ado.Net WCF 数据服务中编写“In”查询?我已经尝试过以下代码。

IList<int> orderIds = new List<int> { 59810, 59811, 59812, 59813, 59814 };
var lstorders = _context.Orders
                        .Where(o => orderIds.Contains(o.customerId))
                        .ToList<Orders>();

但上面的代码不起作用。我收到以下错误。

测试“MyTest”失败:System.NotSupportedException: 表达式 (([10007].customerId != 空)和 值(System.Collections.Generic.List1[System.Int32]).Contains([10007].customerId.Value)) 不支持。 在 System.Data.Services.Client.ExpressionWriter.ExpressionToString(DataServiceContext 上下文,表达式 e) 在 System.Data.Services.Client.UriWriter.VisitQueryOptionExpression(FilterQueryOptionExpression ) 在 System.Data.Services.Client.UriWriter.VisitQueryOptions(ResourceExpression 关于) 在 System.Data.Services.Client.UriWriter.VisitResourceSetExpression(ResourceSetExpression RS) 在 System.Data.Services.Client.DataServiceALinqExpressionVisitor.Visit(表达式 经验) 在 System.Data.Services.Client.UriWriter.Translate(DataServiceContext 上下文,布尔值 addTrailingParens, 表达式e、Uri& uri、版本& 版本) 在 System.Data.Services.Client.DataServiceQueryProvider.Translate(表达式 e) 在 System.Data.Services.Client.DataServiceQuery1.Execute() 在 System.Data.Services.Client.DataServiceQuery1.GetEnumerator() 在 System.Collections.Generic.List1..ctor(IEnumerable1 收藏) 在 System.Linq.Enumerable.ToList[TSource](IEnumerable1 来源)

How to write 'In' queries in Ado.Net WCF Data Services? I have tried the following code.

IList<int> orderIds = new List<int> { 59810, 59811, 59812, 59813, 59814 };
var lstorders = _context.Orders
                        .Where(o => orderIds.Contains(o.customerId))
                        .ToList<Orders>();

But the above code is not working. I am getting following error.

Test 'MyTest' failed: System.NotSupportedException : The
expression (([10007].customerId !=
null) And
value(System.Collections.Generic.List1[System.Int32]).Contains([10007].customerId.Value))
is not supported.
at System.Data.Services.Client.ExpressionWriter.ExpressionToString(DataServiceContext
context, Expression e)
at System.Data.Services.Client.UriWriter.VisitQueryOptionExpression(FilterQueryOptionExpression
fqoe)
at System.Data.Services.Client.UriWriter.VisitQueryOptions(ResourceExpression
re)
at System.Data.Services.Client.UriWriter.VisitResourceSetExpression(ResourceSetExpression
rse)
at System.Data.Services.Client.DataServiceALinqExpressionVisitor.Visit(Expression
exp)
at System.Data.Services.Client.UriWriter.Translate(DataServiceContext
context, Boolean addTrailingParens,
Expression e, Uri& uri, Version&
version)
at System.Data.Services.Client.DataServiceQueryProvider.Translate(Expression
e)
at System.Data.Services.Client.DataServiceQuery
1.Execute()
at System.Data.Services.Client.DataServiceQuery1.GetEnumerator()
at System.Collections.Generic.List
1..ctor(IEnumerable1
collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable
1
source)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

请你别敷衍 2024-10-22 20:34:14

WCF 数据服务“WHERE IN”、“WHERE NOT IN”扩展方法示例

WCF Data Service 'WHERE IN', 'WHERE NOT IN' extension method sample

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文