我正在开发基于 crm 数据库的应用程序。我想使用 linq to sql 获取 salesorder 实体下的 salesorderdetails 数量。
我正在为此使用子选择查询。salesorder 实体具有 new_sefer 字段。我的查询是
(from d in context.SalesOrderDetailSet
where context.SalesOrderSet.Where(s => s.new_Sefer.Id == Id)
.Select(i => i.SalesOrderId).Contains(d.SalesOrderId.Id)
select d).Count();
它抛出异常。我也有关于子选择查询的问题
我如何使用 linq to sql 编写这个 sql 查询
select count(*) from salesorderdetail
where salesorderId in (select salesorderId from salesorder
where new_sefer = '750FEB6F-F742-E311-8F56-000C29F3049E')
“'where' 条件无效。实体成员正在调用无效的属性或方法。”
在 Microsoft.Xrm.Sdk.Linq.QueryProvider.ThrowException(Exception 异常) 在 Microsoft.Xrm.Sdk.Linq.QueryProvider.FindValidEntityExpression(Expression exp, String operation) 在 Microsoft.Xrm.Sdk.Linq.QueryProvider.FindValidEntityExpression(Expression exp , 字符串操作) 在Microsoft.Xrm.Sdk.Linq.QueryProvider.GetQueryExpression(Expression 表达式, Boolean& throwIfSequenceIsEmpty 2 getFilter, BinaryExpression parent, Boolean negate)
at Microsoft.Xrm.Sdk.Linq.QueryProvider.TranslateWhereBoolean(String parameterName, Expression exp, FilterExpressionWrapper parentFilter, Func
, 1 linkLookups, BinaryExpression parent, Boolean negate)
at Microsoft.Xrm.Sdk.Linq.QueryProvider.TranslateWhere(QueryExpression qe, String parameterName, Expression exp, List
Boolean& throwIfSequenceNotSingle、Projection& 投影、NavigationSource& 源、List1& linkLookups)
at Microsoft.Xrm.Sdk.Linq.QueryProvider.Execute[TElement](Expression expression)
at Microsoft.Xrm.Sdk.Linq.QueryProvider.System.Linq.IQueryProvider.Execute[TResult](Expression expression)
at System.Linq.Queryable.Count[TSource](IQueryable
1 来源)在 Xrm.SalesOrderDetailOperations.SelectSalesOrderDetailBySeferId(XrmServiceContext context, Guid Id) 在 C:\SVN\Customers\Burulas\FlyDBOperations\FlyDBOperations\SalesOrderDetailOperations.cs: 第 26 行 FlyDBOperationsTest.SalesOrderDetailOperationsSalesOrderDetailOperationsTest.SelectSalesOrderDetailBySeferIdSelectSalesOrderDetailOperations.cs:line 26客户\Burulas\FlyDBOperations\FlyDBOperationsTest\SalesOrderDetailOperationsSalesOrderDetailOperationsTest.cs:第 82 行