189 8069 5689

LINQ匿名类型的作用是什么

LINQ匿名类型的作用是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

在新源等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、网站建设、外贸网站建设 网站设计制作定制设计,公司网站建设,企业网站建设,品牌网站设计,成都全网营销,成都外贸网站建设,新源网站建设费用合理。

下面的示例提供了一个更复杂和更实际的场景。它把我们的城市列表转换成一个分层的结果集合──我们将使用一个LINQ匿名类型来对结果按国家分组,这个LINQ匿名类型包含了一个国家名称,一个城 市详细信息的子集合和在这个国家中所有城市距离的总和,这距离之和将通过第五步中示范过的lambda表达式 来计算:

using System;  using System.Web.UI;  using System.Query;     public partial class Step7 : System.Web.UI.Page  {  protected void Page_Load(object sender, EventArgs e)  {  TravelOrganizer travel = new TravelOrganizer();     GridView1.DataSource = from location in travel.PlacesVisited  & nbsp; group location by location.Country into loc  & nbsp; select new {  & nbsp; & nbsp; Country = loc.Key,  & nbsp; & nbsp; Cities = loc,  & nbsp; & nbsp; TotalDistance = loc.Sum(dist => dist.Distance)  & nbsp; };   GridView1.DataBind();  }  }

我们.aspx页面中的GridView是这样定义的:

  1. <%@ Page Language="C#" AutoEventWireup="true" 
    CodeFile="Step7.aspx.cs" Inherits="Step7" %> 

  2.    

  3.  

  4.  

  5.  id="form1" runat="server"> 

  6.  

  7. Groupings with Anonymous Classes

     

  8.    

  9.  ID="GridView1" AutoGenerateColumns="false" runat="server"> 

  10.  

  11.    

  12.  HeaderText="Country" DataField="Country" /> 

  13.    

  14.  HeaderText="Cities"> 

  15. & nbsp; 

  16. & nbsp;   

  17. & nbsp; ID="BulletedList1" runat="server" 

  18. & nbsp; & nbsp;DataSource='<%#Eval("Cities")%>' DataValueField="City"/> 

  19. & nbsp;   

  20. & nbsp; 

  21.  

  22.    

  23.  HeaderText="Total Distance" DataField="TotalDistance" /> 

  24.    

  25.  

  26.  

 

  •  

  •  

  •  

  • 注意,我在GridView的模版列中添加了一个"Cities"列,并且在其中添加了一个控件 (一个新的ASP.NET 2.0自带控件)来绑定在上面用LINQ查询所得到的分层结果。

    注意,所有上面的绑定语法和层次绑定在现在的ASP.NET 2.0中是完全支持的,所以,你可以在现有的程序中使 用这些技术。新颖(我也认为非常酷)之处,是LINQ匿名类型和LINQ提供的数据构形功能,这个功能使得在ASP.NET 控件里绑定分层数据非常容易。

    上面所有的例子操作的都是本地内存中的集合数据。他们展示了你如何在.NET对象模型中使用LINQ,包括那些你 自己创建的类型。

    在我将来的有关LINQ的文章中,我将深入讨论LINQ,利用新的DLINQ支持使用上面提到的技术来处理关系数据库 ,和通过新的XLINQ支持来处理XML文件和结构。LINQ项目的好处在于,在所有的应用中,其句法和概念都是一 样的,这样,你一旦学会使用LINQ对一个数组或集合做查询,你也就知道了在处理数据库甚至XML文件时所需 的所有概念。

    例如,假如你使用DLINQ生成了Northwinds数据库中供应商(Suppliers)和产品( Products)表相对应的.NET类型(注:你不需要编写任何代码就可以实现),那么要获取分层的数据结果,并且将其绑定到GridView上,你只要写下面这个编码就可以了(注意:我们使用了跟前面的例子一样的数据构形技术,只从数据库中取得两列数据,并且自动地把每个供应商和其对应的产品组合成一个层次结构的结 果):

    using System;  using System.Query;     public partial class Data_Data2 : System.Web.UI.Page  {  protected void Page_Load(object sender, EventArgs e)  {  Northwind db = new Northwind();     GridView1.DataSource = from x in db.Suppliers  & nbsp; where x.Country == "USA"  & nbsp; orderby x.Country  & nbsp; select new {  & nbsp; & nbsp;x.CompanyName,  & nbsp; & nbsp;x.Country,  & nbsp; & nbsp;x.Products  & nbsp;};     GridView1.DataBind();  }  }

    不需要额外的SQL语句和代码──这些就是实现高效获取和组装层次数据所需的所有代码(注意:只取出了需要的 列和行的数据-DLINQ可以使用LINQ的远程函数支持因而我们没必要持久化或者取出所有数据库表或者一行中 的所有列)。而且这些都是类型安全的,同样具有完全的编译时检查,智能感知和调试支 持。

    关于LINQ匿名类型的作用是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


    文章题目:LINQ匿名类型的作用是什么
    网站URL:http://cdxtjz.cn/article/jcedph.html

    联系我们

    您好HELLO!
    感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
    • 电话:028- 86922220 18980695689
    • 商务合作邮箱:631063699@qq.com
    • 合作QQ: 532337155
    • 成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼

    小谭建站工作室

    成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!

    小谭观点

    相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。
    我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。