Getting Started
Architecture
NServiceBus
Transports
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Samples

SQL Persistence Upgrade Version 4 to 5

Component: Sql Persistence

Microsoft.Data.SqlClient compatibility

In order to add support for Microsoft.Data.SqlClient, the persister no longer references System.Data.SqlClient. The persister is compatible with both clients, but a package reference to System.Data.SqlClient or Microsoft.Data.SqlClient will need to be added to any projects using the persister.

Compatibility with NServiceBus.SqlServer and NServiceBus.Transport.SqlServer

Regardless of the client used, the persister is compatible with NServiceBus.SqlServer and NServiceBus.Transport.SqlServer. It is recommended to use the same client in the transport as well as the persister. When gradually migrating from System.Data.SqlClient to Microsoft.Data.SqlClient, the transport and the persister can operate in a mixed mode as long as the transport transaction mode is either ReceiveOnly or SendsWithAtomicReceive. If the transport operates with transport transaction mode, TransactionScope, using both clients will lead to DTC escalation in all cases, which might not be desirable.