SQL Server is a relational database management system developed by Microsoft. CAP supports SQL Server database.
!!! warning “Warning”
We currently use Microsoft.Data.SqlClient
as the database driver, which is the future of SQL Server drivers, and we have abandoned System.Data.SqlClient
, we suggest that you switch to.
To use SQL Server storage, you need to install the following package from NuGet:
PM> Install-Package DotNetCore.CAP.SqlServer
Next, add configuration items to the ConfigureServices
method of Startup.cs
.
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddCap(x =>
{
x.UseSqlServer(opt=>{
//SqlServerOptions
});
// x.UseXXX ...
});
}
NAME | DESCRIPTION | TYPE | DEFAULT |
---|---|---|---|
Schema | Database schema | string | Cap |
ConnectionString | Database connection string | string |
private readonly ICapPublisher _capBus;
using (var connection = new SqlConnection("ConnectionString"))
{
using (var transaction = connection.BeginTransaction(_capBus, autoCommit: false))
{
//your business code
connection.Execute("insert into test(name) values('test')",
transaction: (IDbTransaction)transaction.DbTransaction);
_capBus.Publish("sample.rabbitmq.mysql", DateTime.Now);
transaction.Commit();
}
}
private readonly ICapPublisher _capBus;
using (var trans = dbContext.Database.BeginTransaction(_capBus, autoCommit: false))
{
dbContext.Persons.Add(new Person() { Name = "ef.transaction" });
_capBus.Publish("sample.rabbitmq.mysql", DateTime.Now);
dbContext.SaveChanges();
trans.Commit();
}