Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Different behavior Get(query) and Get() #620

Closed
emaengine opened this issue Oct 9, 2022 · 1 comment
Closed

Different behavior Get(query) and Get() #620

emaengine opened this issue Oct 9, 2022 · 1 comment

Comments

@emaengine
Copy link

I'm trying to get data from MS SQL server with a queryObject created like this:

var queryObj = new Query().From("PersonalInformation")
                          .Select("FirstName")
                          .Select("LastName")
                          .Select("Id")
                          .Select("BirthDate")
                          .Select("AppUserId")
                          ;

and execute the query:

var @object = dbSQLServer.Get(query);

but I get this exception:

System.Data.SqlClient.SqlException
  HResult=0x80131904
  Message=Incorrect syntax near '@p0'.
  Source=Core .Net SqlClient Data Provider
  StackTrace:
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
   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, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite, String method)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
   at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   at Dapper.SqlMapper.ExecuteReaderWithFlagsFallback(IDbCommand cmd, Boolean wasClosed, CommandBehavior behavior) in /_/Dapper/SqlMapper.cs:line 1066
   at Dapper.SqlMapper.<QueryImpl>d__140`1.MoveNext() in /_/Dapper/SqlMapper.cs:line 1094
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at Dapper.SqlMapper.Query[T](IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Boolean buffered, Nullable`1 commandTimeout, Nullable`1 commandType) in /_/Dapper/SqlMapper.cs:line 734
   at SqlKata.Execution.QueryFactory.Get[T](Query query, IDbTransaction transaction, Nullable`1 timeout)
   at SqlKata.Execution.QueryFactory.Get(Query query, IDbTransaction transaction, Nullable`1 timeout)
   at LibraryNugetTest.DapperAndSqlKata.TestSelect() in C:\Users\emanu\Desktop\WORK\.NET\MyProjects\ERPWebApp\LibraryNugetTest\DapperAndSqlKata.cs:line 59

  This exception was originally thrown at this call stack:
    [External Code]
    LibraryNugetTest.DapperAndSqlKata.TestSelect() in DapperAndSqlKata.cs

I have no exception if I create query directly from QueryFactory:

var userSQLServer = dbSQLServer.Query().From("PersonalInformation")
                          .Select("FirstName")
                          .Select("LastName")
                          .Select("Id")
                          .Select("BirthDate")
                          .Select("AppUserId")
                          ;
var @object = userSQLServer.Get();

Database: Microsoft SQL Server 2019 (RTM-GDR) (KB5014356) - 15.0.2095.3 (X64)
SqlClient: System.Data.SqlClient Version=4.8.3

@ahmad-moussawi
Copy link
Contributor

I am pretty sure there is something that altering the query in your code, could you double check, if no could you please post a project link that can reproduce the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants