LINQ Left加入错误的响应

时间:2016-07-05 05:26:38

标签: c# entity-framework linq

我需要使用LINQ进行左连接。

我正在使用此代码:

 var query = (from Geral in listEstadosGeral
                     join Coberto in listEstadoCoberto
                         on Geral.Id equals Coberto.Id
                         into temp
                     from j in temp.DefaultIfEmpty()
                     select new Estado()
                     {
                         Sigla = Geral.Sigla,
                         Nome = Geral.Nome

                     }).ToList();

在listEstadoGeral中我有27条记录,在listEstadoCoberto中我有5条记录。

该查询有27条记录。

此代码有什么问题?

2 个答案:

答案 0 :(得分:0)

    var query = (from Geral in listEstadosGeral
                 join Coberto in listEstadoCoberto
                 on Geral.Id equals Coberto.Id                       
                 select new Estado()
                 {
                     Sigla = Geral.Sigla,
                     Nome = Geral.Nome
                 }).ToList();

答案 1 :(得分:0)

如果您想获取listEstadosGeral中不在listEstadoCoberto中的记录:

var result = listEstadosGeral.Where(p => !listEstadoCoberto.Any(p2 => p2.ID == p.ID)).ToList();