日期:2014-05-20  浏览次数:21078 次

这段SQL语句在EF中用拉姆达表达式怎么写
select cu.* ,co.*,le.* from mpCustomer as cu left join mpCompany as co 
on cu.CompanyId=co.CompanyId
left join  mpLevel as le on cu.LevelId=le.LevelId

我想问问高手,这段代码在拉姆达表达式中要怎么写。找了好半天,也没弄出来
------解决方案--------------------
left join不建议用lamda表达式来写,不容易阅读
可以用标准表达式来写,给你个例子,我觉得你自己是可以写出来的:
public void Linq105()  

    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 
        from p in ps.DefaultIfEmpty() 
        select new { Category = c, ProductName = p == null ? "(No products)" : p.ProductName }; 
  
    foreach (var v in q) 
    { 
        Console.WriteLine(v.ProductName + ": " + v.Category); 
    } 
}