2010-12-02 6 views
0

J'ai une requête linq qui extrait un ensemble de données d'une base de données, mais malheureusement, en raison de la nature héritée de la base de données, une "jointure" manuelle doit être exécutée dans le cadre du question.Accès à des tables jointes dans Linq2SQL lors du renvoi d'IQueryable

Maintenant, j'ai besoin d'ajouter d'autres filtres optionnels à l'ensemble de données, dont certains reposent sur la table jointe - si je retourne l'ensemble de données de la première requête comme .AsQueryable() table, car il ne semble pas être disponible à partir de l'IQuerable?

Exemple:

var myQuery = (from o in db.FirstTable 
        join t in db.SecondTable on o.SecondID equals t.ID 
        select o).AsQueryable(); 

// (optional - if statement excluded for brevity) 
myQuery = from x in myQuery where t.SomeField.Equals("My Filter Value"); 

Répondre

0

Quelle que soit les propriétés dont vous avez besoin de la table, vous devez saisir dans la sélection. Donc, changez votre sélection de "select o" à "select o.Property1, o.Property2, t.Property1, t.Property2"

Questions connexes