是否可以使用ServiceStack的OrmLite执行任意SELECT?

时间:2014-03-23 02:31:03

标签: c# sql-server servicestack ormlite-servicestack

我正在尝试使用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中爆炸。我可以禁用他们必须做的任何无用的解析吗?

1 个答案:

答案 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;");