LINQ查询显示不同的结果

时间:2013-07-23 06:50:02

标签: c# linq

我正在使用以下两个LINQ查询:

查询1

var membersAddresses = 
  (from o in db.MembersAddresses.Include(m => m.Member)
               .Where(id => id.MemberID == memberID)
   select new { 
       memberID = memberID, 
       Address = o.AddressName + ":" + o.Address1 
   }).ToList();

查询2

var membersAddresses1 = 
    (from o in db.MembersAddresses.Include(m => m.Member)
                 .Where(id => id.MemberID == memberID) 
     select o).ToList();

对会员有2个地址。底部查询返回正确的结果,而上面的第一个显示第二个值为null。知道如何纠正该查询吗?我想使用第一个查询,因为我需要使用一些自定义列。

感谢

1 个答案:

答案 0 :(得分:0)

您可以使用运算符??

Address = (o.AddressName ?? "")  + ":" + (o.Address1 ?? "")

A'??' B表示,如果A为null,则采用B else取A