2009-07-08 3 views
0

ich eine einfache Join-Abfrage von 2 Tischen zu bekommen versuchen, sie haben keine Beziehung, bisher habe ich diesen Code, aber es ist ein Fehler, dass ich es nicht bekommen, bitte helft SieLinq einfache Abfrage mit 2 Tischen

var query = 
        from p in db.Productos 
        from s in db.Stocks 
        where p.Nombre == "Suaje" && p.TipoProducto == tipo 
        where p.RecID == s.IDProducto 
        select new { s.Largo, s.Ancho }; 

Antwort

0

Vermissen Sie die 'und'?

and p.RecID == s.IDProducto 

Betrachten Sie Ihre Abfrage wie folgt zu schreiben:

ist gut gebildet
var results = from p in db.Productos 
join s in db.Stocks 
on p.RecID equals s.IDProducto 
where p.Nombre == "Suaje" && p.TipoProducto == tipo 
select new { s.Largo, s.Ancho }; 
+0

thx, ich empfange den gleichen Fehler "Kann Typ 'System.Linq.IQueryable ' nicht zu 'System.Linq.IQueryable" konvertieren – VictorC

1

Ihre Anfrage. Ich glaube, dass der Fehler von der Verwendung des Abfrageobjekts herrührt.

Sie geben es zurück? Was ist der Rückgabetyp der Methode?

Gute Praxis schreibt vor, dass Sie keine anonymen Typen (oder generische Typen mit anonymen Typparametern) von einer Methode zurückgeben.

Wenn alles andere fehlschlägt, entfernen Sie das Schlüsselwort var und arbeiten Sie von dort aus.