AI agents: use the documentation index at llms.txt to locate machine-readable pages. This section is indexed by https://docs.particular.net/persistence/llms.txt. The markdown version of this page is served as plain text. An MCP server at /mcp serves the same content via the search_docs and read_doc tools; it is read-only and needs no credentials. Markdown versions of documentation pages are available by appending .md to the page URL. Directory URLs use index.md. They are served as text/plain because some retrieval backends reject text/markdown.

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.