我有以下LINQ返回零如果没有任何地址(内部加入)。我如何使这个外部加入,然后只有Take(1)
?LINQ加入(左外)与拿(1)
var results = query.Join(
DB.tblAddresses.Where(t => t.AddressTypeID == 'm' || t.AddressTypeID == 'b').OrderByDescending(x => x.AddressTypeID),
p => p.PersonID,
a => a.PersonID,
(p, a) =>
new
{
p.PersonID,
p.LastName,
p.FirstName,
p.MiddleName,
p.SSN,
p.BirthDate,
p.DeathDate,
AddressLine1 = a.AddressLine1 ?? string.Empty
});
return results.CopyLinqToDataTable();
这个我试过像这样 - >'DB.tblAddresses.Where(T => t.AddressTypeID == 'm'|| t.AddressTypeID =='b')。OrderByDescending(x => x.AddressTypeID).DefaultIfEmpty(),'无效。谢谢你的想法。 – 2010-09-22 20:10:25
澄清,如果地址行丢失,它仍然不会返回。 – 2010-09-22 20:10:52