是否可以在sqlkata中查询参数化的表值函数?

时间:2018-12-11 08:44:31

标签: sql-server user-defined-functions sqlkata

我有一个像这样的SQL表值函数:

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

我希望能够通过使用适当的参数调用该函数在SqlKata中对其执行查询。

有可能吗?如果可以,怎么办?

注意:这个问题与is there any way to create query including function in projection and outer apply in sqlkata?有某种联系,但是我也需要传递一个参数。

2 个答案:

答案 0 :(得分:2)

最简单的方法是使用FromRaw

CGAffineTransform.Identity()

旁注:使用new Query().FromRaw("[Foo](?)", bar).Select("Column") 比自己执行查询要容易得多。

QueryFactory

答案 1 :(得分:1)

我设法获得像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();