LINQ查询显示不同的结果

本文关键字:结果 查询 显示 LINQ | 更新日期: 2023-09-27 18:24:17

我使用以下两个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();

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

感谢

LINQ查询显示不同的结果

您可以使用运算符??

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

A"??"B表示,如果A为空,则取B,否则取A