Commit ea6506d1 authored by Savorboard's avatar Savorboard

update samples

parent d2faadd8
......@@ -11,7 +11,7 @@ namespace Sample.Kafka.SqlServer
public class AppDbContext : DbContext
{
public const string ConnectionString = "Server=localhost;Integrated Security=SSPI;Database=testcap";
public const string ConnectionString = "Server=localhost;Integrated Security=SSPI;Database=testcap;";
public DbSet<Person> Persons { get; set; }
......
using System;
using System.Data.SqlClient;
using System.Threading.Tasks;
using Dapper;
using DotNetCore.CAP;
using Microsoft.AspNetCore.Mvc;
......@@ -17,9 +18,9 @@ namespace Sample.Kafka.SqlServer.Controllers
}
[Route("~/without/transaction")]
public IActionResult WithoutTransaction()
public async Task<IActionResult> WithoutTransaction()
{
_capBus.Publish("sample.kafka.sqlserver", DateTime.Now);
await _capBus.PublishAsync("sample.kafka.sqlserver", DateTime.Now);
return Ok();
}
......@@ -61,21 +62,33 @@ namespace Sample.Kafka.SqlServer.Controllers
}
[Route("~/ef/transaction")]
public IActionResult EntityFrameworkWithTransaction([FromServices]AppDbContext dbContext)
public IActionResult EntityFrameworkWithTransaction([FromServices] AppDbContext dbContext)
{
using (var trans = dbContext.Database.BeginTransaction(_capBus, autoCommit: false))
{
dbContext.Persons.Add(new Person() { Name = "ef.transaction" });
for (int i = 0; i < 2; i++)
{
_capBus.Publish("sample.kafka.sqlserver", DateTime.Now);
}
dbContext.SaveChanges();
dbContext.Persons.Add(new Person() { Name = "ef.transaction" });
// We will assist you set dbcontext save changes and commit transaction
trans.Commit();
}
return Ok();
}
[Route("~/ef/autocommit/transaction")]
public IActionResult EntityFrameworkAutoCommitWithTransaction([FromServices]AppDbContext dbContext)
{
using (dbContext.Database.BeginTransaction(_capBus, autoCommit: true))
{
dbContext.Persons.Add(new Person() { Name = "ef.transaction" });
_capBus.Publish("sample.kafka.sqlserver", DateTime.Now);
}
return Ok();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment