首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

请问一个GroupJoin的有关问题

2012-04-10 
请教一个GroupJoin的问题C# codevar db new BigDataEntities()var g db.Tab1.GroupJoin(db.Tab1, a

请教一个GroupJoin的问题

C# code
var db = new BigDataEntities();        var g =            db.Tab1                .GroupJoin(db.Tab1, a => a.id, b => b.id, (a, b) => new {a, b})                .GroupJoin(db.Tab1, c => c.a.id, d => d.id, (c, d) => new {c, d})                .Select(t => t.c.b.id);    //这里如果用 t.c.a.id就没有错误,用b.id就找不到id了,什么原因,怎么解决呢。但是用join是可以的。


[解决办法]
Group Join 写成Lamda表达式,太不容易阅读
把你的代码写成标准表达式来看看

类似于这样:

C# code
Group Join (back to top) Using a group join you can get all the products that match a given category bundled as a sequence.   复制代码 C# public void Linq103() {     string[] categories = new string[]{          "Beverages",          "Condiments",          "Vegetables",          "Dairy Products",          "Seafood" };       List<Product> products = GetProductList();       var q =         from c in categories         join p in products on c equals p.Category into ps         select new { Category = c, Products = ps };       foreach (var v in q)     {         Console.WriteLine(v.Category + ":");         foreach (var p in v.Products)         {             Console.WriteLine("   " + p.ProductName);         }     } } 

热点排行