我已经应用了以下代码:

var country = from cnty in this.GetAll<CompanyDefinition>().ToList()
   where cnty.IsImported = true
   select new {
      CompanyDefinitionID = cnty.CompanyDefinitionID
      , CompanyDefinitionName = cnty.Company.CompanyName + "(" + cnty.Country.CountryCode + "," + cnty.NaicsCode.NaicsCode1 + ")"
};


而且我收到对象引用错误。它指向“选择新”。什么是正确的方法?

最佳答案

问题是CompanyCountryNaicsCodenull,您需要在尝试访问其属性之前进行检查。例如,您可以将查询重写为:

var country = from cnty in this.GetAll<CompanyDefinition>()
              where cnty.IsImported && cnty.Company != null && cnty.Country != null && cnty.NaicsCode != null
              select new {
                  ...
              }

10-06 10:50