2016-05-12 6 views
0

Ich migrate nur mein Projekt von vs2010 zu vs2012 und wenn ich versuche, diese Methode auszuführen, scheint die Anweisung keine Daten zu erhalten. Derselbe Code funktioniert gut in vs2010.Linq Enthält funktioniert nicht nach der Migration von vs2010 zu 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(); 

Jeder Vorschlag zur Behebung des Problems ist willkommen.

+0

Sie erhalten also eine Liste mit 0 Einträgen? –

+4

Es wird nichts mit Ihrer Version von Visual Studio zu tun haben. Zeigen Sie immer noch auf dieselbe Datenquelle wie vor der Migration? –

+0

Ja, ich bekam 0 Einträge und es ist dieselbe Datenbank –

Antwort

0

Ich löse es durch ein Upgrade auf EntityFramework6, es scheint, dass EntityFramework5 immer noch einige Fehler hat. Ich verwende die gleiche Methode und Daten, aber jetzt bekomme ich die erwarteten Daten.

0

Ich denke, ich hatte ein ähnliches Problem beim Upgrade von EntityFramework, als Ergebnis wechselte ich mit der .Any() -Methode statt.