★搜Asp.net★(www.soAsp.net),为专业技术文档网站。
包括Asp.net开发技术文档·C#开发技术文档·Access/SQL Server数据库开发技术文档·VB.NET开发技术文档。
还包括·项目实战经验总结·开发经验技巧总结·项目开发心得。
精通LINQ技术-聚合查询

  使用LINQ to SQL不但可以轻松查询数据库中的数据,而且还可以对查询结果进行聚合计算,如计算查询结果的和(SUM)、最大值(Max)、最小值(Min)、平均值(Average)等。下面的实例代码使用LINQ to SQL查询LinqDB数据库的Product表中的数据,并计算查询结果中商品的最高价格和最低价格。具体步骤如下。

1)创建LinqDBDataContext类的实例db

2)使用LINQ查询表达式查询Product表中的数据(商品),同时,分别调用MaxMin操作计算商品的最高价格和最低价格,分别保存为maxPriceminPrice。其中,LINQ查询表达式为“from p in db.Product select p”。

3)使用Respone对象的Write()方法显示maxPriceminPrice变量的值。

        private void ShowData()

         {   ///创建LinqDB数据库的数据上下文的实例

                   LinqDBDataContext db = new LinqDBDataContext(LinqSystem.LinqDBConnectionString);

                   ///获取所有商品

                   var result = from p in db.Product

                                                select p;

                   ///计算商品的最高价格和最低价格

                   decimal maxPrice = result.Max(p => p.Price.Value);

                   decimal minPrice = result.Min(p => p.Price.Value);

                   ///显示最高价格和最低价格

                   Response.Write("Max Price:" + maxPrice.ToString() + "<br />Min Price:" + minPrice.ToString());

         }

Sample_08项目中的AggregateQuery.aspx页面测试了上述实例代码(ShowData()函数),测试结果如图所示。