mtanneryd / ef-bulk-operations

Bulk operations for Entity Framework 6
Apache License 2.0
80 stars 30 forks source link

BulkSelectExisting threw error: int is incompatible with uniqueidentifier #14

Closed Steven-FlexTechs closed 5 years ago

Steven-FlexTechs commented 5 years ago

Ran into this error using BulkSelectExisting with Tanneryd.BulkOperations.EF6/1.2.3-beta3. The table I am searching has a Guid for a Primary Key. Also I am using Database First EF6. I feel bad for finding holes in this awesome project.

System.Data.SqlClient.SqlException: Operand type clash: int is incompatible with uniqueidentifier
    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, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   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.ExecuteReader()
   at Tanneryd.BulkOperations.EF6.DbContextExtensions.DoBulkSelectExisting[T1,T2](DbContext ctx, BulkSelectRequest`1 request)
   at Tanneryd.BulkOperations.EF6.DbContextExtensions.BulkSelectExisting[T1,T2](DbContext ctx, BulkSelectRequest`1 request)
mtanneryd commented 5 years ago

Don't feel bad! I very much appreciate your findings. I've been a bit busy this week but I'll get right on fixing it soon.

/Måns

Måns Tånneryd Tånneryd IT AB Barrskogsvägen 19 186 53 Vallentuna +46-705140093 https://se.linkedin.com/in/manstanneryd https://www.facebook.com/matkollen

Den ons 6 feb. 2019 kl 18:32 skrev Steven notifications@github.com:

Ran into this error using BulkSelectExisting with Tanneryd.BulkOperations.EF6/1.2.3-beta3. The table I am searching has a Guid for a Primary Key. Also I am using Database First EF6. I feel bad for finding holes in this awesome project.

System.Data.SqlClient.SqlException: Operand type clash: int is incompatible with uniqueidentifier at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action1 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, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) 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.ExecuteReader() at Tanneryd.BulkOperations.EF6.DbContextExtensions.DoBulkSelectExisting[T1,T2](DbContext ctx, BulkSelectRequest1 request) at Tanneryd.BulkOperations.EF6.DbContextExtensions.BulkSelectExisting[T1,T2](DbContext ctx, BulkSelectRequest`1 request)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/mtanneryd/ef6-bulk-operations/issues/14, or mute the thread https://github.com/notifications/unsubscribe-auth/ADQZRYuNzSe4w8YOAq393VB09m8VuJxWks5vKxGXgaJpZM4alvTp .

mtanneryd commented 5 years ago

Almost ready for another beta. Need to write a few more tests but it looks pretty good so far.

mtanneryd commented 5 years ago

1.2.3-beta4 has been pushed. It should be available shortly. There are still some tests that I need to run but I think that there is a good chance that both of your currently remaining issues have been resolved. Please let me know if that is not the case.