LINQ查询into子句

   在LINQ查询表达式中,into子句可以创建一个临时标识符,使用该标识符可以存储group、join或select子句的结果。下面的代码实例中的GroupOtherQuery()函数演示了group子句对查询的结果进行分组的方法,具体步骤说明如下。

(1)创建数据类型为List<UserInfo>的数据源users。

(2)使用group子句对结果进行分组。其中,根据用户名称(Username属性的值)的序号的奇偶进行分组。

(3)使用into子句创建临时标识符g存储查询结果。

(4)使用where子句筛选组包含元素的数量大于等于5的组。

(5)使用嵌套foreach语句输出查询的结果。

private void GroupOtherQuery()
         {   ///构建数据源
                   List<UserInfo> users = new List<UserInfo>();
                   for (int i = 1; i < 10; i++)
                   {
                            users.Add(new UserInfo(i,"User0" + i.ToString(),"User0" + i.ToString() + "@web.com"));
                   }
                   ///根据用户的Username的值进行分组
                   var values = from u in users
                                     group u by Int32.Parse(u.Username.Substring(u.Username.Length - 2)) % 2 == 0 into g
                                     where g.Count() >= 5
                                     select g;
                   ///显示查询结果
                   foreach (var v in values)
                   {
                            foreach (UserInfo u in v)
                            {
                                     Response.Write(u.Username + "</br>");
                            }
                   }
         }

  注意:一般情况下,group子句不需要使用into子句。如果需要对group子句的结果中的每一个组进行操作,则需要使用into子句来表示结果中的组。

  运行上述实例代码,在IE浏览器中查看into子句查询的结果,如图所示。

 

来源:http://blog.csdn.net/linqmail/article/details/2301730

加支付宝好友偷能量挖...


评论(0)网络
阅读(95)喜欢(0)asp.net-linq