Subsonic 亚音速3.0.0.3 | SimpleRepository-按降序排列和.First()

Subsonic 亚音速3.0.0.3 | SimpleRepository-按降序排列和.First(),subsonic,subsonic3,Subsonic,Subsonic3,这些代码在SQL Express 2008上运行良好: return _repository.GetInstructions() .Where(x => x.PublishedDate != null) .OrderByDescending(x => x.PublishedDate) .First(); 但当使用SQLServer2000运行时,它会中断。 这里是错误。如果有人想看的话,我会把痕迹贴出来 FailedSyst

这些代码在SQL Express 2008上运行良好:

    return _repository.GetInstructions()
        .Where(x => x.PublishedDate != null)
        .OrderByDescending(x => x.PublishedDate)
        .First();
但当使用SQLServer2000运行时,它会中断。 这里是错误。如果有人想看的话,我会把痕迹贴出来

 FailedSystem.Data.SqlClient.SqlException: Line 1: Incorrect syntax near '('.
以下是跟踪:

TestSqlITInstructionRepository.Should_Get_Latest_ITInstruction : FailedSystem.Data.SqlClient.SqlException: Line 1: Incorrect syntax near '('.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
at SubSonic.DataProviders.DbDataProvider.ExecuteReader(QueryCommand qry) in DbDataProvider.cs: line 137
at SubSonic.Linq.Structure.DbQueryProvider.Execute<T>(QueryCommand`1 query, Object[] paramValues) in C:\Documents and Settings\nobody\My Documents\subsonic-SubSonic-3.0-8a52a0913ac0b8542d5d041262046c497387223f\subsonic-SubSonic-3.0-8a52a0913ac0b8542d5d041262046c497387223f\SubSonic.Core\Linq\Structure\DbQueryProvider.cs: line 280
at lambda_method(ExecutionScope )
at SubSonic.Linq.Structure.DbQueryProvider.Execute(Expression expression) in C:\Documents and Settings\nobody\My Documents\subsonic-SubSonic-3.0-8a52a0913ac0b8542d5d041262046c497387223f\subsonic-SubSonic-3.0-8a52a0913ac0b8542d5d041262046c497387223f\SubSonic.Core\Linq\Structure\DbQueryProvider.cs: line 131
at SubSonic.Linq.Structure.QueryProvider.System.Linq.IQueryProvider.Execute<S>(Expression expression) in C:\Documents and Settings\nobody\My Documents\subsonic-SubSonic-3.0-8a52a0913ac0b8542d5d041262046c497387223f\subsonic-SubSonic-3.0-8a52a0913ac0b8542d5d041262046c497387223f\SubSonic.Core\Linq\Structure\QueryProvider.cs: line 45
at System.Linq.Queryable.First<TSource>(IQueryable`1 source)
at Kiss.Test.Repositories.TestSqlITInstructionRepository.Should_Get_Latest_ITInstruction() in TestSqlITInstructionRepository.cs: line 73 
TestSqlITInstructionRepository.Should\u获取最新的\u ITInstruction:FailedSystem.Data.SqlClient.SqlException:第1行:“(”附近的语法不正确。
位于System.Data.SqlClient.SqlConnection.OneError(SqlException异常,布尔断开连接)
位于System.Data.SqlClient.SqlInternalConnection.OneError(SqlException异常,布尔断开连接)
位于System.Data.SqlClient.TdsParser.ThroweException和Warning(TdsParserStateObject stateObj)
在System.Data.SqlClient.TdsParser.Run(RunBehavior RunBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj)
位于System.Data.SqlClient.SqlDataReader.ConsumerMetadata()处
在System.Data.SqlClient.SqlDataReader.get_MetaData()处
位于System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds、RunBehavior、String ResetOptions String)
位于System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior、RunBehavior RunBehavior、Boolean returnStream、Boolean async)
位于System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior、RunBehavior RunBehavior、Boolean returnStream、String方法、DbAsyncResult)
位于System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior、RunBehavior RunBehavior、Boolean returnStream、String方法)
位于System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior,String方法)
位于System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior)
位于System.Data.Common.DbCommand.ExecuteReader(CommandBehavior)
在DbDataProvider.cs中的亚音速.DataProviders.DbDataProvider.ExecuteReader(QueryCommand qry):第137行
在C:\Documents and Settings\nobody\My Documents\SubSonic-SubSonic-SubSonic-13ac0b8542d5d0441262046c49737223f\SubSonic-SubSonic-SubSonic-3.0-8a52a0913ac0b8542d5\Linq\Structure\DbQueryProvider.cs:第280行
lambda_方法(ExecutionScope)
在C:\Documents and Settings\nobody\My Documents\SubSonic-SubSonic-SubSonic-3.0-8A52A0913AC0B8542D5D041262046C49738723F\SubSonic-SubSonic-SubSonic-3.0-8a52a0913ac0b8542d5d041262046c497387223f\SubSonic.Core\Linq\Structure\DbQueryProvider.cs:第131行
在C:\Documents and Settings\nobody\My Documents\SubSonic-SubSonic-SubSonic-3.0-8a52a0913ac0b8542d5d041262046c497387223f\SubSonic-SubSonic-3.0-8a52a0913ac0b8542d5d041262046c497387223f\SubSonic.Core\Linq\Structure\QueryProvider.cs中执行(表达式)
在System.Linq.Queryable.First处(IQueryable`1源)
在Kiss.Test.Repositories.TestSqlITInstructionRepository.中,您是否应该获取TestSqlITInstructionRepository.cs中的最新\U ITInstruction():第73行

我不认为亚音速完全支持MS SQL 2000。 我自己的研究结果表明。首先()是排名前(1)

对于MS SQL 2000,它应该是没有括号的前1名

亚音速文档()说它支持“SQL Server(200-2008)”,这意味着它可能是一个bug。我想你应该把它作为一个问题提交给亚音速github网站。

你能发布这个查询生成的sql以及堆栈跟踪吗?这是一个问题-我在这里发布了一个解决方案:是的,我刚刚遇到了这个bug,我通过你的回答解决了它。现在我使用SimpleRepository.Single而不是首先