Iskra.Core.DataBase
1.0.74
dotnet add package Iskra.Core.DataBase --version 1.0.74
NuGet\Install-Package Iskra.Core.DataBase -Version 1.0.74
<PackageReference Include="Iskra.Core.DataBase" Version="1.0.74" />
paket add Iskra.Core.DataBase --version 1.0.74
#r "nuget: Iskra.Core.DataBase, 1.0.74"
// Install Iskra.Core.DataBase as a Cake Addin #addin nuget:?package=Iskra.Core.DataBase&version=1.0.74 // Install Iskra.Core.DataBase as a Cake Tool #tool nuget:?package=Iskra.Core.DataBase&version=1.0.74
Iskra.Core.DataBase
Обзор
Библиотека Iskra.Core.DataBase
предоставляет набор инструментов для автоматического обновления атрибутов в базе данных
при использовании Entity Framework Core (EFCore). Она включает перехватчики, которые управляют установкой даты
создания (CreateDate
), даты изменения (UpdateDate
) и пользователя, который внес изменения (UpdateUserId
).
Библиотека также поддерживает отключение перехватчиков по необходимости.
Установка
Библиотеку можно установить через NuGet:
dotnet add package Iskra.Core.DataBase
Основные компоненты
Перехватчики (Interceptors)
UpdateUserInterceptor
- Описание: Устанавливает
UpdateUserId
для сущностей, реализующих интерфейсIUpdateAuditSecure
.
- Описание: Устанавливает
UpdateDateInterceptor
- Описание: Устанавливает
UpdateDate
для сущностей, реализующих интерфейсIUpdateAudit
.
- Описание: Устанавливает
CreateDateInterceptor
- Описание: Устанавливает
CreateDate
для сущностей, реализующих интерфейсICreateAudit
.
- Описание: Устанавливает
CreateUserInterceptor
- Описание: Устанавливает
CreateUserId
для сущностей, реализующих интерфейсICreateAuditSecure
.
- Описание: Устанавливает
Интерфейсы
IUpdateAuditSecure
- Описание: Содержит свойства
UpdateUserId
иUpdateDate
. - Пример:
public interface IUpdateAuditSecure : IUpdateAudit { Guid UpdateUserId { get; set; } }
- Описание: Содержит свойства
IUpdateAudit
- Описание: Содержит свойство
UpdateDate
. - Пример:
public interface IUpdateAudit { DateTime? UpdateDate { get; set; } }
- Описание: Содержит свойство
ICreateAudit
- Описание: Содержит свойство
CreateDate
. - Пример:
public interface ICreateAudit { DateTime CreateDate { get; set; } }
- Описание: Содержит свойство
ICreateAuditSecure
- Описание: Содержит свойства
CreateUserId
иCreateDate
. - Пример:
public interface ICreateAuditSecure : ICreateAudit { Guid CreateUserId { get; set; } }
- Описание: Содержит свойства
Атрибуты
SuppressUpdateDateInterceptorAttribute
- Описание: Подавляет перехватчик
UpdateDateInterceptor
. - Пример:
[SuppressUpdateDateInterceptor("Reason for suppression")] public class MyEntity : IUpdateAuditSecure { // Entity properties }
- Описание: Подавляет перехватчик
SuppressCreateDateInterceptorAttribute
- Описание: Подавляет перехватчик
CreateDateInterceptor
. - Пример:
[SuppressCreateDateInterceptor("Reason for suppression")] public class MyEntity : ICreateAudit { // Entity properties }
- Описание: Подавляет перехватчик
Заключение
Библиотека Iskra.Core.DataBase
упрощает управление атрибутами аудита в базе данных, автоматизируя процесс установки
даты создания и изменения,
а также пользователя, который внес изменения.
Она предоставляет гибкость для отключения перехватчиков по необходимости, что позволяет адаптировать библиотеку под
различные требования проекта.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- FluentValidation (>= 11.11.0)
- IdentityModel (>= 7.0.0)
- Iskra.Core.Auth.Abstractions (>= 1.0.74)
- JetBrains.Annotations (>= 2024.3.0)
- Microsoft.EntityFrameworkCore.Abstractions (>= 8.0.13)
- Microsoft.EntityFrameworkCore.Relational (>= 8.0.13)
- Microsoft.Extensions.Caching.Abstractions (>= 9.0.2)
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.2)
- Microsoft.Extensions.DependencyInjection (>= 9.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.2)
- Microsoft.Extensions.Options (>= 9.0.2)
- Reo.Core.CodeConventions (>= 8.0.174)
- Reo.Core.DataModels (>= 8.0.174)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.