2010-02-10 6 views
0

Possible en double:
Why did the following linq to sql query generate a subquery?composition LINQ - génère une étrange clause FROM

J'ai un qs. pour vous gourous LINQ ...

J'utilise LINQ de manière composable et le SQL généré est un peu complexe et de la forme:

SELECT xxx FROM 
(
    SELECT yyy from myTable1, myTable2 
    WHERE foo == bar 
) AS t7 
WHERE t7.column == value. 

La déclaration LINQ est formée en combinant quelques IQueryable types, où la partie SELECT est dans une méthode qui renvoie un IQuerable et puis je cloue sur certaines conditions ailleurs.

Je sais qu'il est dans la façon dont je compose le LINQ que je dois modifier, mais je veux exécuter enfin SQL:

SELECT xxx FROM myTable1, myTable2 
    WHERE foo == bar 
and t7.column == value. 

Donc, fondamentalement la nichait de clause va.

Cela semble être un problème standard, et je peux fournir plus de détails sur mes instructions LINQ, si nécessaire.

+6

Pourquoi est-ce important? Si la performance et la précision sont les mêmes, vous ne devriez pas vous en préoccuper ... c'est un peu le point de l'abstraction. –

+1

Pourquoi vous souciez-vous de l'apparence de la requête? – TFD

+0

Ce serait une bonne idée d'inclure les instructions linq impliquées ... – KristoferA

Répondre

0

Si vous n'aimez pas le SQL généré par LINQ to SQL, utilisez quelque chose comme le IQToolkit et générez le SQL que vous voulez.