Lambad 和Linq多表连查

Lamdad

var categorizedProducts = product
    .Join(productcategory, p => p.Id, pc => pc.ProdId, (p, pc) => new { p, pc })
    .Join(category, ppc => ppc.pc.CatId, c => c.Id, (ppc, c) => new { ppc, c })
    .Select(m => new { 
        ProdId = m.ppc.p.Id, // or m.ppc.pc.ProdId
        CatId = m.c.CatId
        // other assignments
    });

Linq

var custs = from c in db.T_Customer
            join u in db.Sys_User on c.OwnerId equals u.Id into temp
            from t in temp.DefaultIfEmpty()  //left join
            where (c.PhoneNum1 == phone || c.PhoneNum2 == phone || c.PhoneNum3 == phone)
            select new
            {
                CustName = string.IsNullOrEmpty(c.CustName) ? "匿名" : c.CustName,
                UserName = t == null ? "暂无" : t.Name//这里主要第二个集合有可能为空。需要判断
            };
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 语言集成查询(Language-Integrated Query),简称LINQ,.NET中的LINQ体系如下图所...
    雪飞鸿阅读 6,438评论 0 16
  • LINQ to SQL全称基于关系数据的.NET语言集成查询,用于以对象形式管理关系数据,并提供了丰富的查询功能。...
    球球1104阅读 2,999评论 0 0
  • 一、什么是Linq? LINQ即Language Integrated Query(语言集成查询),LINQ是集成...
    小明yz阅读 5,289评论 0 9
  • 2018.5.13 星期日 晴 P113 早上我们和小伙伴一起到了森林木屋,朋友公司一起聚餐。我们...
    童心_依旧阅读 877评论 0 1
  • 哎呀,猪蛋丢了
    刘振雨阅读 1,794评论 0 1