我正在尝试使用ServiceStack OrmLite的Db.Select<T>
方法来执行任意SQL片段,该片段在直接针对数据库运行时工作正常。相反,我从堆栈中得到一个SqlException。
var res = Db.Select<Foo>(@"
declare @v int = 1;
select f.* from Foo where 1=@v;");
我在运行时生成文本,不能使用LINQ表达式。我只是想知道为什么这对我的数据库起作用,使用常规的SqlDbConnection,但在ServiceStack的OrmLite中爆炸。我可以禁用他们必须做的任何无用的解析吗?
答案 0 :(得分:1)
使用OrmLite的querying raw SQL原始db.Sql*
API,例如:
var res = Db.SqlList<Foo>(@"
declare @v int = 1;
select f.* from Foo where 1=@v;");