首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

EF,Select New领航属性取不到

2013-09-06 
EF,Select New导航属性取不到本帖最后由 netspider0533 于 2013-08-29 00:02:31 编辑var sumnow (from m

EF,Select New导航属性取不到
本帖最后由 netspider0533 于 2013-08-29 00:02:31 编辑


            var sumnow = (from m in astw
                          group m by new { m.PBInfo.Town } into x
                          select new
                          {
                              PbInfoCount = x.Select(t => t.PBID).Distinct().Count(),
                              PBInfo = x.First().PBInfo,
                              Town = x.First().PBInfo.Towns,    //第二级的导航属性取不到
                              VAT = x.Sum(y => y.VAT),
                              IncomeTax = x.Sum(y => y.IncomeTax),
                              ConsumptionTax = x.Sum(y => y.ConsumptionTax)
                          });


上述代码ToList的时候会报nullreferenceexception 错误,select new时只能取到第一级的导航属性,有什么办法取第二级,第三级的
ps.如果select new下断点调试是可以取到的


[解决办法]

引用:
Quote: 引用:

 Town = x.First().PBInfo==null?null:x.First().PBInfo.Towns

或者你根据x.Key去取实体


根据x.key查实体,是不是变成多次查询数据库了?

EF也是支持延迟查询的啊

热点排行