2009-11-13 5 views
0

Есть ли способ извлечь SQL, который запускается из базы данных из немного дозвукового? Например, у меня естьИзвлечь SQL из Subsonic 3

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

Могу ли я получить то, что запущено?

ответ

1

В Дозвуковые, вы можете получить команду, которая будет выполняющийся на запрос таким образом:

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

Да, это работает, теперь я вижу, что мне нужно делать. благодаря – stimms

0

Саймон, Другой метод, который требует больше под капотом откровение отлаживать дозвуковой исходный код , Задайте точку останова по вашему запросу, посмотрите вычисленное утверждение и найдите свойство QueryText.

MAbraham1