请问一个GroupJoin的有关问题
请教一个GroupJoin的问题
------解决方案--------------------
Group Join 写成Lamda表达式,太不容易阅读
把你的代码写成标准表达式来看看
类似于这样:
- 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); } } }