我正在開發基於crm數據庫的應用程序。我想要使用linq to sql獲取salesorder實體下銷售訂單數量。linq to sql使用crm早期綁定類
我爲此使用了子查詢查詢。 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的
select count(*) from salesorderdetail
where salesorderId in (select salesorderId from salesorder
where new_sefer = '750FEB6F-F742-E311-8F56-000C29F3049E')
我寫這篇文章的SQL查詢「無效‘其中’狀態。實體部件調用一個無效的屬性或方法。」
在Microsoft.Xrm.Sdk.Linq.QueryProvider.ThrowException(例外的例外) 在Microsoft.Xrm.Sdk.Linq.QueryProvider.FindValidEntityExpression(表達式exp,字符串操作) 在Microsoft.Xrm.Sdk.Linq。 QueryProvider.FindValidEntityExpression(表達式exp,字符串操作) 在Microsoft.Xrm.Sdk.Linq.QueryProvider.TranslateWhereMethodCall(MethodCallExpression MCE,FilterExpressionWrapper parentFilter,函數功能2 getFilter, BinaryExpression parent, Boolean negate) at Microsoft.Xrm.Sdk.Linq.QueryProvider.TranslateWhereBoolean(String parameterName, Expression exp, FilterExpressionWrapper parentFilter, Func
2用getFilter,列表1 linkLookups, BinaryExpression parent, Boolean negate) at Microsoft.Xrm.Sdk.Linq.QueryProvider.TranslateWhere(QueryExpression qe, String parameterName, Expression exp, List
1 linkLookups) 在Microsoft.Xrm.Sdk.Linq。 QueryProvider.GetQueryExpression(表達式表達式,布爾型& throwIfSequenceIsEmpty,布爾型& throwIfSequenceNotSingle,投影&投影,NavigationSource &源,列表1& 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上下文中,的Guid Id)的在C:\ SVN \顧客\ Burulas \ FlyDBOperations \ FlyDBOperations \ SalesOrderDetailOperations.cs:線26 在FlyDBOperationsTest。 SalesOrderDetailOperationsSalesOrderDetailOperationsTest.SelectSalesOrderDetailBySeferIdSelectSalesOrderDetailBySeferIdTest()在C:\ SVN \客戶\ Burulas \ FlyDBOperations \ FlyDBOperationsTest \ SalesOrderDetailOperationsSalesOrderDetailOperationsTest.cs:行82
我認爲原因是這個限制:**從**:支持每個查詢一個_from_子句 – verdery
是否CRM的查詢API不同於他們的查詢表達式?我一直認爲所有的Linq to CRM語句都轉換成了Query Expressions,因此你只能使用Query Expressions支持的Linq做一些事情。 – Daryl
當我說查詢API時,我的意思是查詢表達式。我相信您在Linq to CRM語句轉換爲查詢表達式的陳述中是正確的。 –