生成的SQL中的TOP关键字将数字包装在括号中(我为SQL紧凑支持而设置),但是我的SQL 2000服务器上的这个错误,因为它不期望括号。
示例C#代码:
var doc = Logic.Document.All().FirstOrDefault(d=> d.Guid == Request.QueryString["guid"]);
产生以下SQL错误:
第1行:'('。
附近的语法不正确
因为它生成以下SQL:
exec sp_executesql N'SELECT TOP (1) .....'
如果我在没有括号的情况下手动执行相同的SQL,则SQL执行得很好。 这是一个错误吗?
答案 0 :(得分:0)
在进一步挖掘SubSonic源代码后,我在这里回答了一个决议:
SubSonic3: Method "FirstOrDefault" throws exception with SQL Server 2000