Я использую SqlKata исключительно для создания запросов SQL в C #. Я хочу взять выходные данные моей сборки Query
, получить необработанную (скомпилированную) строку sql и выполнить ее для SQL.
Я думал, что это сделает:
var factory = new QueryFactory(null, new SqlServerCompiler());
var query = new Query();
...
var sqlText = factory.Compiler.Compile(query).Sql;
Но это дает:
SELECT TOP (@p0) [AllStarFull].[GameNumber], [AllStarFull].[LeagueId], [AllStarFull].[PlayedInGame] FROM [AllStarFull]
Это вызывает исключение, потому что (@p0)
является параметром, а не фактическим значением.
В документации упоминается, что нужно ввести Logger
, но мне действительно не нужна функциональность регистрации (прямо сейчас).
https://sqlkata.com/docs/execution/logging
var db = new QueryFactory(connection, new SqlServerCompiler());
// Log the compiled query to the console
db.Logger = compiled => {
Console.WriteLine(compiled.ToString());
};
var users = db.Query("Users").Get();
В любом случае можно получить необработанную строку sql из Query
со всеми заполненными параметрами?