LINQ : 如何在JOIN或者GROUP BY的时候使用复合键

在LINQ中,可以很方便地进行JOIN或者GROUP BY的操作。但一般情况下,它们都是基于一个键的。如果想要基于多个键进行JOIN或者GROUP BY,则可以参考下面的语法

var query = from o in db.Orders
    from p in db.Products
    join d in db.OrderDetails
        on new {o.OrderID, p.ProductID} equals new {d.OrderID,
        d.ProductID}
into details
        from d in details
        select new {o.OrderID, p.ProductID, d.UnitPrice};

或者

join...on new {Name = o.CustomerName, ID = o.CustID} equals
    new {Name = d.CustName, ID = d.CustID }

 

GROUP BY的做法也一样

本文由作者:陈希章 于 2009/7/16 21:37:46 发布在:http://www.cnblogs.com/chenxizhang/
本文版权归作者所有,可以转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
更多博客文章,以及作者对于博客引用方面的完整声明以及合作方面的政策,请参考以下站点:陈希章的博客中心
posted @ 2009-07-16 21:38  陈希章  阅读(1146)  评论(0编辑  收藏  举报