![]() |
VOOZH | about |
dotnet add package Reo.Core.AutoHistory --version 8.0.447
NuGet\Install-Package Reo.Core.AutoHistory -Version 8.0.447
<PackageReference Include="Reo.Core.AutoHistory" Version="8.0.447" />
<PackageVersion Include="Reo.Core.AutoHistory" Version="8.0.447" />Directory.Packages.props
<PackageReference Include="Reo.Core.AutoHistory" />Project file
paket add Reo.Core.AutoHistory --version 8.0.447
#r "nuget: Reo.Core.AutoHistory, 8.0.447"
#:package Reo.Core.AutoHistory@8.0.447
#addin nuget:?package=Reo.Core.AutoHistory&version=8.0.447Install as a Cake Addin
#tool nuget:?package=Reo.Core.AutoHistory&version=8.0.447Install as a Cake Tool
Пакет Reo.Core.AutoHistory предоставляет функциональность для реализации аудита изменений данных в приложениях. Он позволяет отслеживать операции вставки, обновления и удаления записей в базах данных, а также сохранять дополнительную информацию (например, идентификаторы пользователей, временные метки, названия сущностей). Поддерживается интеграция с MongoDB и PostgreSQL, что делает его универсальным решением для аудита в различных типах приложений.
Интерфейс, определяющий общие поля для событий аудита (например, UpdateDate, UpdateUserId, EntityName).
Классы, реализующие IAuditEventExtra для MongoDB и PostgreSQL соответственно. Добавляют специфичные поля (например,
ExternalId).
Сервисы для создания и управления событиями аудита. Используются для генерации объектов IAuditEventExtra на основе
данных из приложения.
Маппер для преобразования сущностей в объекты IAuditEventExtra, необходимый для корректного сохранения данных в базу.
Интерфейс, определяющий обязательные поля для внешних данных (например, ExternalId).
Install-Package Reo.Core.AutoHistory
dotnet add package Reo.Core.AutoHistory
Добавьте в Startup.cs или Program.cs:
services.AddAutoHistory(options =>
{
options.UseMongoDb(connectionString: "mongodb://localhost:27017", databaseName: "AuditDb");
// или
options.UsePostgreSql(connectionString: "Host=localhost;Database=AuditDb;Username=user;Password=pass");
});
Настройки можно указать в appsettings.json:
{
"AutoHistory": {
"MongoDb": {
"ConnectionString": "mongodb://localhost:27017",
"DatabaseName": "AuditDb"
},
"PostgreSql": {
"ConnectionString": "Host=localhost;Database=AuditDb;Username=user;Password=pass"
}
}
}
var auditEvent = new MongoAuditEventExtra
{
UpdateDate = DateTime.UtcNow,
UpdateUserId = Guid.NewGuid(),
EntityName = "User",
ExternalId = "12345"
};
await AuditEventExtraProvider.SaveAsync(auditEvent);
public class UserRepository
{
private readonly IAuditEventExtraProvider _auditProvider;
public UserRepository(IAuditEventExtraProvider auditProvider)
{
_auditProvider = auditProvider;
}
public async Task CreateUserAsync(User user)
{
// Логика создания пользователя
await _auditProvider.SaveAsync(new MongoAuditEventExtra
{
UpdateDate = DateTime.UtcNow,
UpdateUserId = Guid.NewGuid(),
EntityName = "User",
ExternalId = user.Id.ToString()
});
}
}
try
{
await AuditEventExtraProvider.SaveAsync(auditEvent);
}
catch (AutoHistoryDbOptionsException ex)
{
// Обработка ошибки настройки базы данных
Console.WriteLine($"Ошибка конфигурации: {ex.Message}");
}
catch (AutoHistoryExtraFieldsMappingException ex)
{
// Обработка ошибки маппинга полей
Console.WriteLine($"Ошибка маппинга: {ex.Message}");
}
MIT License
Данный пакет распространяется под лицензией MIT. Подробнее см. в файле LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 8.0.447 | 384 | 7/16/2025 |
| 8.0.446 | 327 | 7/16/2025 |
| 8.0.445 | 329 | 7/16/2025 |
| 8.0.444 | 324 | 7/16/2025 |
| 8.0.443 | 330 | 7/16/2025 |
| 8.0.442 | 336 | 7/16/2025 |
| 8.0.439 | 278 | 7/15/2025 |
| 8.0.438 | 333 | 7/15/2025 |
| 8.0.437 | 326 | 7/15/2025 |
| 8.0.436 | 322 | 7/15/2025 |
| 6.0.447 | 317 | 7/16/2025 |
| 6.0.446 | 311 | 7/16/2025 |
| 6.0.445 | 327 | 7/16/2025 |
| 6.0.444 | 307 | 7/16/2025 |
| 6.0.443 | 304 | 7/16/2025 |
| 6.0.442 | 312 | 7/16/2025 |
| 6.0.439 | 282 | 7/15/2025 |
| 6.0.438 | 317 | 7/15/2025 |
| 6.0.437 | 320 | 7/15/2025 |
| 6.0.436 | 329 | 7/15/2025 |