Некоторые СУБД имеют функцию записи выполненных SQL-запросов (например, SQL Server имеет SQL Server Profiler). Если ваша СУБД не имеет этой функции, вы можете перехватывать запросы SQL с некоторым прокси в сети (веб-приложение ----> ваш прокси ----> СУБД).
Вы должны соединить входные значения и записанные запросы.
Проблема с поиском SQL-запросов в коде очень сложна, и я думаю, что это невозможно. Запрос SQL не должен быть в виде простого текста или может создаваться динамически.
Например:
// this will produce SQL query
from p in db.Products where p.Size > 1000 && p.Count < 5 order by p.Name select p;
// this will not produce any SQL query
from c in ColumnsOf( db.Products ) where c.Contains( "Name" ) select c.Type;
// this will produce SQL query
var tmp = "SELECT ";
for(int i = 0; i < columns.Length; i++ ) {
if ( i > 0 ) { tmp += ", "; }
tmp += columns[i].Name;
}
tmp += "FROM " + someTextVariable;