2016-04-05 16 views
0

我正在尝试为我的C#表单使用linq来计算所选字段的总数量。但是,这些字段可以按stor_id或ord_num排序。任何时候我尝试编写一条或一条语句来获取我的查询中的总数,我都会遇到语法错误。当我只查询stor_id或ord_num时,它工作正常,只是将它们组合起来导致问题。这就是我的查询现在的样子。我怎样才能得到一个数据表中的排序字段的总数量与lnq?

System.Nullable<double> total = (from ord in _Pubs_1_DataSet.sales where 
           (ord.ord_num == txtOrderNumber.Text 
           or ord.stor_id == txtStoreID.Text) 
           select (int)ord.qty).Sum(); 

回答

0

or不是这样。只要使用||(这基本上意味着or

System.Nullable<double> total = (from ord in _Pubs_1_DataSet.sales where (ord.ord_num == txtOrderNumber.Text || ord.stor_id == txtStoreID.Text) select (int) ord.qty).Sum(); 
+0

这很有道理,我试图写它像一个SQL查询,而不是与C#逻辑。感谢你及时的答复 –

0

||是在C#or。我还在查询中包含了ord.qty.HasValue来过滤nullable数量。

(from ord in _Pubs_1_DataSet.sales 
where ((ord.ord_num == txtOrderNumber.Text || ord.stor_id == txtStoreID.Text) && ord.qty.HasValue) 
select ord.qty.Value).Sum(); 
相关问题