我有一个像这样的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?有某种联系,但是我也需要传递一个参数。
答案 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();