【问题标题】:Linq Contains not working after migrate from vs2010 to vs2012从 vs2010 迁移到 vs2012 后,Linq 包含不起作用
【发布时间】:2016-05-12 20:42:27
【问题描述】:

我只是将我的项目从 vs2010 迁移到 vs2012,当我尝试执行此方法时,该语句似乎没有得到任何数据。相同的代码在 vs2010 上运行良好。

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 个条目的列表?
  • 这与您的 Visual Studio 版本没有任何关系。您是否仍指向与迁移前相同的数据源?
  • 是的,我得到了 0 个条目,它是同一个数据库

标签: c# linq visual-studio-2010 visual-studio-2012


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我认为我在升级 EntityFramework 时遇到了类似的问题,因此我改用了 .Any() 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-01
      • 1970-01-01
      • 2012-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多