我需要使用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条记录。
此代码有什么问题?
答案 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();