/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/Persistence/MassTransit.EntityFrameworkIntegration/EntityFrameworkIntegration/Audit/EntityFrameworkAuditStore.cs
33 строки
1 KB
Chris Patterson
Integration of all external packages into MassTransit, split out into Abstractions, Middleware, and the core MassTransit assembly.
22 янв 2022, 18:24
22 янв 2022, 18:24
b5b4f50
Код
Авторство
О чём код?
namespace MassTransit.EntityFrameworkIntegration.Audit { using System.Data.Entity; using System.Threading.Tasks; using MassTransit.Audit; public class EntityFrameworkAuditStore : IMessageAuditStore { readonly string _auditTableName; readonly string _nameOrConnectionString; public EntityFrameworkAuditStore(string nameOrConnectionString, string auditTableName) { _nameOrConnectionString = nameOrConnectionString; _auditTableName = auditTableName; } public DbContext AuditContext => new AuditDbContext(_nameOrConnectionString, _auditTableName); async Task IMessageAuditStore.StoreMessage<T>(T message, MessageAuditMetadata metadata) { using (var dbContext = AuditContext) { var auditRecord = AuditRecord.Create(message, TypeCache<T>.ShortName, metadata); dbContext.Set<AuditRecord>().Add(auditRecord); await dbContext.SaveChangesAsync().ConfigureAwait(false); } } } }