繁体   English   中英

Linq Join空参考

[英]Linq Join Null Reference

我的查询如下:

(from c in countries
 join r in Db.PaymentRates_VisaImmigrationPermit on c.CountryId equals r.HomeCountryId into countryRates
 from legalRate in countryRates.DefaultIfEmpty()
 join hostC in Db.Countries on legalRate.HostCountryId equals hostC.Id
 select new [...]

我在此行上得到一个空引用异常:

join hostC in Db.Countries on legalRate.HostCountryId equals hostC.Id

...这显然是由以下行引起的:

from legalRate in countryRates.DefaultIfEmpty()

仅当legalRate不为null时,才可以进行legalRate 以获取我想要的数据而不会引起null引用异常?

类似的问题: LINQ中的错误Left Join

您可以使用DefaultIfEmpty构造函数设置legalRate的默认值:

 from legalRate in 
     countryRates.DefaultIfEmpty(new CountryRate { HostCountryId = int.MaxValue })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM