C# LINQ以错误响应离开Join

C# LINQ以错误响应离开Join,c#,entity-framework,linq,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 tem

我需要使用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();
在ListStadoGeral中我有27张唱片,在ListStadoCoberto中我有5张唱片

该查询有27条记录


此代码有什么问题?

如果要获取ListStatoGeral中存在但ListStatoOberto中不存在的记录,请执行以下操作:

    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();
var result = listEstadosGeral.Where(p => !listEstadoCoberto.Any(p2 => p2.ID == p.ID)).ToList();

这5条记录与前27条记录不同吗?我假设,您有27条记录,因为有5条记录与27条记录的id匹配。它们具有相同的id。那么行为是预期的。因为它们具有相同的id,所以结果集应该有所有27行,即使您使用的是没有id匹配的左联接,结果也将是27行。@b3r3ch1t问题在问题中没有明确指定。请具体说明,以便给出具体的解决方案。在ListStatDoGeral中我有27条记录,在ListStatDoCoberto中我有5条记录。该查询有27条记录。这正是
左外部联接的预期结果。投票结束,因为不清楚你在问什么。