我在SQL Server2000中使用SubSonic3。
我对方法"FirstOrDefault“有问题-它总是抛出一个异常=”第1行:‘(’附近的语法不正确。“从SubSonic.Linq dll
编辑(从注释中添加代码):
InventoryDAL = DAL project name (dll)
Inventort= Subsonic3 Gnerated classes
Name space WHWarehouses = gnerated object
Dim WareH = (From Wh In InventoryDAL.Inventort.WHWarehouses.All _
Where Wh.WarehouseID = 1 ).FirstOrDefault发布于 2010-02-23 20:31:34
我不知道SubSonic,但是Hibernate有不同的SQL方言,你可以告诉它使用,你可能想看看有没有什么方法可以告诉它使用SQL2000的方言
发布于 2010-08-12 17:29:44
这也是我遇到的一个问题,不幸的是,生成TOP的代码是在SubSonic依赖项中生成的,不能在TT模板中更改。
在TSqlFormatter.cs类下的SubSonic源代码中有一个方法
protected override Expression VisitSelect(SelectExpression select)..。
if (select.Take != null)
{
sb.Append("TOP (");
this.Visit(select.Take);
sb.Append(") ");
}……
删除db.Append中的括号应该可以解决SQL的问题,但我不确定这是否会破坏其他提供程序,如SQL Compact Edition?
我在这里提出了它:在我读你的查询之前SubSonic Bug with TOP keyword?。
希望这能有所帮助。
https://stackoverflow.com/questions/1397933
复制相似问题