0

I'm trying to make something like this:

int count = new Select().From(tblSchema).Where("Type & 1").IsEqualTo("1").GetRecordCount();

And the error message is:

Incorrect syntax near '&'.

Must declare the scalar variable "@Deleted".

Is it possible to do that with SubSonic?

4

3 回答 3

0

这似乎是 SubSonic 在生成要执行的 SQL 时命名其参数的方式中的错误。

发生的事情是 SubSonic 正在查看“Type & 1”,然后创建一个参数以与名为 @Type&10 的参数进行比较,该参数不是有效的 SQL 参数名称。因此,您最终会从原始查询中得到以下 SQL。您应该向http://code.google.com/p/subsonicproject/提交错误

同时,您现在可以通过使用内联查询来解决该错误:

http://subsonicproject.com/docs/Inline_Query_Tool

于 2009-05-22T09:13:35.677 回答
0

必须声明标量变量“@Deleted”

第二个错误是由于对您正在查询的表使用逻辑删除(该表有 isDeleted 或 Deleted 列)引起的。

但我正在查看代码,我不确定该参数是如何进入那里的。据我所知,SqlQuery.GetRecordCount方法不调用 CheckLogicalDelete()。该错误消息是否无关?

于 2009-05-21T03:25:50.637 回答
-1

关于您要完成的工作有点模糊,但这是一个最好的猜测。

int count = new Select().From(tbl.Schema).Where(tbl.TypeColumn).IsEqualTo(true).GetRecordCount(); 
于 2009-05-20T16:35:44.350 回答