Skip to content

Commit da1ccf1

Browse files
committed
Update sample
1 parent b6174f2 commit da1ccf1

File tree

5 files changed

+48
-18
lines changed

5 files changed

+48
-18
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
using Microsoft.EntityFrameworkCore;
2+
3+
namespace Sample.RabbitMQ.MySql
4+
{
5+
public class Person
6+
{
7+
public int Id { get; set; }
8+
9+
public string Name { get; set; }
10+
11+
public int Age { get; set; }
12+
13+
public override string ToString()
14+
{
15+
return $"Name:{Name}, Age:{Age}";
16+
}
17+
}
18+
19+
public class AppDbContext : DbContext
20+
{
21+
public const string ConnectionString = "Server=127.0.0.1;Database=cap;Uid=root;Pwd=my-secret-pw;";
22+
public DbSet<Person> Persons { get; set; }
23+
24+
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
25+
{
26+
optionsBuilder.UseMySql(ConnectionString, ServerVersion.AutoDetect(ConnectionString));
27+
}
28+
}
29+
}

samples/Sample.RabbitMQ.MySql/Controllers/ValuesController.cs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public async Task<IActionResult> Delay(int delaySeconds)
5252
[Route("~/adonet/transaction")]
5353
public async Task<IActionResult> AdonetWithTransaction()
5454
{
55-
using (var connection = new MySqlConnection(Startup.ConnectionString))
55+
using (var connection = new MySqlConnection(AppDbContext.ConnectionString))
5656
{
5757
using var transaction = await connection.BeginTransactionAsync(_capBus, true);
5858
await connection.ExecuteAsync("insert into test(name) values('test')", transaction: (IDbTransaction)transaction.DbTransaction);
@@ -62,18 +62,18 @@ public async Task<IActionResult> AdonetWithTransaction()
6262
return Ok();
6363
}
6464

65-
//[Route("~/ef/transaction")]
66-
//public async Task<IActionResult> EntityFrameworkWithTransaction([FromServices] AppDbContext dbContext)
67-
//{
68-
// using (var trans = await dbContext.Database.BeginTransactionAsync(_capBus, autoCommit: false))
69-
// {
70-
// await dbContext.Persons.AddAsync(new Person() { Name = "ef.transaction" });
71-
// await _capBus.PublishAsync("sample.rabbitmq.mysql", DateTime.Now);
72-
// await dbContext.SaveChangesAsync();
73-
// await trans.CommitAsync();
74-
// }
75-
// return Ok();
76-
//}
65+
[Route("~/ef/transaction")]
66+
public async Task<IActionResult> EntityFrameworkWithTransaction([FromServices] AppDbContext dbContext)
67+
{
68+
using (var trans = await dbContext.Database.BeginTransactionAsync(_capBus, autoCommit: false))
69+
{
70+
await dbContext.Persons.AddAsync(new Person() { Name = "ef.transaction" });
71+
await _capBus.PublishAsync("sample.rabbitmq.mysql", DateTime.Now);
72+
await dbContext.SaveChangesAsync();
73+
await trans.CommitAsync();
74+
}
75+
return Ok();
76+
}
7777

7878
[NonAction]
7979
[CapSubscribe("sample.rabbitmq.mysql")]

samples/Sample.RabbitMQ.MySql/Sample.RabbitMQ.MySql.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
<ItemGroup>
88
<PackageReference Include="Dapper" Version="2.0.138" />
99
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.0" />
10+
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="8.0.3" />
1011
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
1112
</ItemGroup>
1213
<ItemGroup>

samples/Sample.RabbitMQ.MySql/Startup.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ namespace Sample.RabbitMQ.MySql
55
{
66
public class Startup
77
{
8-
public const string ConnectionString = "";
9-
108
public void ConfigureServices(IServiceCollection services)
119
{
10+
services.AddDbContext<AppDbContext>();
11+
1212
services.AddCap(x =>
1313
{
14-
x.UseMySql(ConnectionString);
14+
x.UseEntityFramework<AppDbContext>();
1515
x.UseRabbitMQ("localhost");
1616
x.UseDashboard();
1717
});

samples/Sample.RabbitMQ.MySql/appsettings.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"Logging": {
33
"LogLevel": {
4-
"Default": "None",
5-
//"DotNetCore.CAP": "Debug",
4+
"Default": "Information",
5+
"DotNetCore.CAP": "Debug",
66
"Microsoft.AspNetCore.Hosting.Diagnostics": "Warning",
77
"Microsoft.AspNetCore.Routing": "Warning"
88
}

0 commit comments

Comments
 (0)