【代码笔记】c# Linq操作DataTable
2021/11/26 20:10:21
本文主要是介绍【代码笔记】c# Linq操作DataTable,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
首先:添加引用
项目添加引用 System.Data.DataSetExtensions
注意下面代码 AsEnumerable()方法的使用
数据库访问代码
public DataTable AllianceOrderDataStats(string sqlWhere) { StringBuilder commandText = new StringBuilder(); commandText.Append($@" select groupkey='groupkey', orders.oid, orders.osn, orders.uid, orders.orderstate, orders.productamount, orders.orderamount, orders.addtime, orders.storeid, orders.storename from (select storeid from bma_storein where storeid>0 {sqlWhere}) as storeIdTable inner join bma_orders as orders on storeIdTable.storeid=orders.storeid "); return RDBSHelper.ExecuteDataset(CommandType.Text, commandText.ToString()).Tables[0]; }
业务代码
第一步:获取数据
EnumerableRowCollection<DataRow> orderDataTable = Orders.AllianceOrderDataStats(sqlWhere.ToString()).AsEnumerable(); //订单总和 resultModel.orderCount = orderDataTable.Count();
第二步:根据【groupkey】分组后统计【orderamount】的合
var orderMoneyCount = from orderTable in orderDataTable where orderTable["orderstate"].ToString()=="100" group orderTable by orderTable["groupkey"] into groupkey select new { MoneyCount = groupkey.Sum(dr=> Convert.ToDecimal(dr["orderamount"])) }; //获取orderamount合 resultModel.orderMoneyCount = orderMoneyCount.SingleOrDefault().MoneyCount;
这篇关于【代码笔记】c# Linq操作DataTable的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具
- 2024-01-24.NET集成IdGenerator生成分布式全局唯一ID
- 2024-01-23用CI/CD工具Vela部署Elasticsearch + C# 如何使用
- 2024-01-23.NET开源的简单、快速、强大的前后端分离后台权限管理系统