在下面的Linq to Entities查詢中,如果查詢返回0 OfficeTelephone對象,則需要在返回值中的x.Number中放置一個默認值。我試過 x.Number ??「555-1212」,但是會引發錯誤。使用Linq to Entities查詢中的默認值替換空值
from c in Contacts
.Where(a => a.LastName.Contains("ANDUS")).Take(10)
select new
{
Id = c.Id,
OfficeTelephone = c.Telephones.Where(a=>a.TelephoneType.Name.Contains("Office")).Select(x => new { x.AreaCode, x.Number, x.TelephoneType, x.Primary })
}
我已經試過類似:
from c in Contacts
.Where(a => a.LastName.Contains("ANDUS")).Take(10)
select new
{
Id = c.Id,
OfficeTelephone = c.Telephones
.Where(a=>a.TelephoneType.Name.Contains("Office"))
.Select(x => new { x.AreaCode, x.Number, x.TelephoneType, x.Primary })
.DefaultIfEmpty()}
但我不知道如何把一個默認的對象爲DefaultIFEmpty()
如果查詢返回0的對象,是從未使用過x.Number ......你想OfficeTelephone設爲默認值? – Aducci 2014-10-10 16:12:20
是默認對象,區域代碼,數字等缺省值。 – 2014-10-10 16:56:14