2016-05-12 41 views
0

我只是将我的项目从vs2010迁移到vs2012,当我尝试执行此方法时,该语句似乎无法获取数据。相同的代码在vs2010上正常工作。Linq包含从vs2010迁移到vs2012后无法工作

var result2 = (dc.Table1 
    .Where(p => p.Descripcion.Contains(descripcion) && p.Estado == 1) 
    .GroupJoin(dc.Table2, 
     p => p.Codigo, 
     a => a.Codigo, 
     (p, a) => new { p = p, a = a } 
    ) 
    .SelectMany(
     temp => temp.a.DefaultIfEmpty(), 
     (temp, a) => new Listado() 
     { 
      codigo = temp.p.Codigo, 
      descripcion = temp.p.Descripcion, 
      alias = a.Descripcion, 
      id = a.Id 
     }) 
    ) 
    .ToList(); 

任何建议来解决这个问题是值得欢迎的。

+0

所以你得到一个0条目列表? –

+4

这与您的Visual Studio版本没有任何关系。您是否仍然指向迁移前的相同数据源? –

+0

是的,我得到0项,它是相同的数据库 –

回答

0

我通过升级到EntityFramework6来解决它,似乎EntityFramework5仍然有一些错误。我正在使用相同的方法和数据,但现在我得到了预期的数据。

0

我想升级EntityFramework时遇到了类似的问题,结果我转而使用.Any()方法。

相关问题