Можно ли запросить параметризованную табличную функцию в sqlkata? - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть табличная функция SQL, подобная этой:

CREATE FUNCTION [Foo] (@bar VARCHAR(255))
RETURNS @result TABLE 
(
    [Column1] INT,
    [Column2] INT,
    [Column3] INT,
    [Column4] INT
)
..

Я хотел бы иметь возможность выполнять запросы к ней в SqlKata, вызывая функцию с правильным параметром.

Возможно ли это?Если да, то как?

Примечание. Этот вопрос как-то связан с . Есть ли способ создания запроса, включая функцию в проекции и внешнее применение в sqlkata? , но мне тоже нужно передать параметр.

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Самый простой способ - использовать FromRaw

new Query().FromRaw("[Foo](?)", bar).Select("Column")

Примечание: использовать QueryFactory гораздо проще, чем выполнить запрос самостоятельно.

var result = db.Query().FromRaw("[Foo](?)", bar).Select("Column").Get();
0 голосов
/ 11 декабря 2018

Мне удалось получить результат, получая доступ к моей функции как CTE, то есть: используя WithRaw и псевдоним:

            var query = new Query("MyAlias")
                .WithRaw("MyAlias", "Select Column1 from [Foo](@bar)" )
                .Select("Column1");
            var compiled = _compiler.Compile(query);
            var result1 = connection.Query(compiled.Sql, new {bar = bar})
                .ToList();
...