2009-07-08 5 views
0

Je suis en train d'obtenir d'une simple requête de jointure de 2 tables, ils ont pas de lien, à ce jour j'obtenu ce code, mais il y a une erreur que je ne l'obtenir, s'il vous plaît aiderLINQ requête simple avec 2 tables

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 }; 

Répondre

0

Vous manquez le 'et'?

and p.RecID == s.IDProducto 

ne pas ecrire votre requête comme ceci:

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, je récite la même erreur "Impossible de convertir implicitement le type" System.Linq.IQueryable "en" System.Linq.IQueryable " – VictorC

1

Votre requête est bien formée. Je crois que l'erreur provient de la façon dont vous utilisez l'objet de requête.

Le renvoyez-vous? Quel est le type de retour de la méthode? Les bonnes pratiques recommandent de ne pas retourner les types anonymes (ou les types génériques avec des paramètres de type anonymes) à partir de n'importe quelle méthode.

Si tout le reste échoue, supprimez le mot-clé var et travaillez à partir de là.