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//这里主要第二个集合有可能为空。需要判断
            };
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容