从 vs2010 迁移到 vs2012 后,Linq 包含不起作用

Linq Contains not working after migrate from vs2010 to vs2012

我刚刚将我的项目从 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();

欢迎提出任何解决问题的建议。

我升级到EntityFramework6解决了,看来EntityFramework5还是有一些bug。我正在使用相同的方法和数据,但现在我得到了预期的数据。

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