2009-11-13 5 views
0

Y at-il un moyen d'extraire le SQL qui est exécuté contre la base de données à partir d'un peu de subsonic? Par exemple, j'aiExtrait SQL de Subsonic 3

foreach (var item in EVT.All().Where(e => e.EVT_USRNAME == "stimms")) 
     { 
     ... 
     } 

Puis-je savoir à quoi sert-il?

Répondre

1

En Subsonic, vous pouvez obtenir la commande qui sera en cours d'exécution contre une requête de cette façon:

IQueryable query = EVT.All().Where(e => e.EVT_USRNAME == "stimms"); 
SubSonic.Linq.Structure.DbQueryProvider provider = (SubSonic.Linq.Structure.DbQueryProvider)query.Provider; 
string command = provider.GetCommand(query.Expression).CommandSql; 
+0

Oui, cela fonctionne, maintenant je peux voir ce que je dois faire. Merci – stimms

0

Simon, Une autre méthode qui nécessite plus la révélation sous le capot est déboguer le code source Subsonic . Définissez un point d'arrêt sur votre requête, observez l'instruction évaluée et recherchez la propriété QueryText.

MAbraham1