Reo.Core.Database.Abstractions
10.0.14
See the version list below for details.
dotnet add package Reo.Core.Database.Abstractions --version 10.0.14
NuGet\Install-Package Reo.Core.Database.Abstractions -Version 10.0.14
<PackageReference Include="Reo.Core.Database.Abstractions" Version="10.0.14" />
<PackageVersion Include="Reo.Core.Database.Abstractions" Version="10.0.14" />
<PackageReference Include="Reo.Core.Database.Abstractions" />
paket add Reo.Core.Database.Abstractions --version 10.0.14
#r "nuget: Reo.Core.Database.Abstractions, 10.0.14"
#:package Reo.Core.Database.Abstractions@10.0.14
#addin nuget:?package=Reo.Core.Database.Abstractions&version=10.0.14
#tool nuget:?package=Reo.Core.Database.Abstractions&version=10.0.14
Reo.Core.Database.Abstractions
Описание пакета
Reo.Core.Database.Abstractions — это абстракционный пакет для работы с базами данных в .NET-приложениях. Он
предоставляет инструменты для управления контекстами DbContext, импорта и экспорта данных, а также работы с
сущностями. Пакет решает задачи, связанные с централизованным управлением базами данных, автоматизацией процесса
инициализации данных и поддержкой типизированных сущностей.
Основные компоненты
1. IEntityId и IEntityGuidId
- Определяют интерфейсы для сущностей с идентификаторами (
intилиGuid). - Используются для унификации работы с моделями данных.
2. IEntityState и IEntityStateEnum
- Предоставляют возможность отслеживания статуса сущности (например, "актуальная", "в архиве").
- Поддерживают работу с флагами состояний через
EntityStates.
3. ISeedService
- Отвечает за инициализацию данных в базе (sеeding).
- Обеспечивает гибкость в управлении начальными данными.
4. ISeedSerializer
- Реализует сериализацию и десериализацию данных (например, JSON).
- Упрощает работу с файлами данных.
5. ISimpleSeedDataImporter
- Позволяет импортировать данные из файлов с маппингом между DTO и сущностями.
- Поддерживает работу с разными типами идентификаторов (
int,Guid, кастомные типы).
Требования
- .NET версии: 6.0 и выше.
- Зависимости:
- Entity Framework Core (если используется ORM).
- Newtonsoft.Json (для сериализации/десериализации данных).
Установка
NuGet Package Manager
Install-Package Reo.Core.Database.Abstractions
.NET CLI
dotnet add package Reo.Core.Database.Abstractions
Настройка
Регистрация в DI-контейнере (ASP.NET Core)
services.AddDbContext<MyDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("Default")));
services.AddScoped<ISeedService, SeedService>();
services.AddScoped<ISeedSerializer, JsonSeedSerializer>();
services.AddScoped<ISimpleSeedDataImporter, SimpleSeedDataImporter>();
Конфигурационные параметры
- Подключение к базе данных: настраивается через
appsettings.json. - Пути к файлам данных: указываются в конфигурации приложения.
Использование
Пример 1: Инициализация данных через ISeedService
public class MySeeder : ISeedService
{
public void Seed(IServiceProvider serviceProvider)
{
var context = serviceProvider.GetRequiredService<MyDbContext>();
context.Database.EnsureCreated();
context.Users.Add(new User { Name = "Admin" });
context.SaveChanges();
}
}
Пример 2: Импорт данных через ISimpleSeedDataImporter
var importer = serviceProvider.GetRequiredService<ISimpleSeedDataImporter>();
var count = await importer.ImportDataAsync(
"data/users.json",
dto => new User { Id = dto.Id, Name = dto.Name },
CancellationToken.None);
Console.WriteLine($"Импортировано {count} записей.");
Пример 3: Работа с состоянием сущности
var entity = new MyEntity { EntityState = EntityStates.Actual };
if (entity.EntityState.HasFlag(EntityStates.Editing))
{
// Обработка редактирования
}
Лицензия
Данный пакет распространяется под лицензией MIT.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- JetBrains.Annotations (>= 2025.2.4)
- stbychkov.AutoLoggerMessage (>= 1.0.15)
- System.ComponentModel.Annotations (>= 5.0.0)
-
net10.0
- JetBrains.Annotations (>= 2025.2.4)
- stbychkov.AutoLoggerMessage (>= 1.0.15)
- System.ComponentModel.Annotations (>= 5.0.0)
NuGet packages (13)
Showing the top 5 NuGet packages that depend on Reo.Core.Database.Abstractions:
| Package | Downloads |
|---|---|
|
Reo.Core.DataModels
Package Description |
|
|
Reo.Core.Database
Package Description |
|
|
Reo.Core.DistributedCache
Package Description |
|
|
Reo.Core.PredicateBuilder
Package Description |
|
|
Reo.MnoApi.Sensors
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.33 | 0 | 2/13/2026 |
| 10.0.32 | 0 | 2/13/2026 |
| 10.0.31 | 7 | 2/13/2026 |
| 10.0.30 | 60 | 2/12/2026 |
| 10.0.29 | 61 | 2/12/2026 |
| 10.0.28 | 94 | 2/11/2026 |
| 10.0.27 | 120 | 2/11/2026 |
| 10.0.26 | 234 | 2/9/2026 |
| 10.0.25 | 231 | 2/9/2026 |
| 10.0.24 | 246 | 2/9/2026 |
| 10.0.23 | 242 | 2/9/2026 |
| 10.0.22 | 226 | 2/9/2026 |
| 10.0.21 | 244 | 2/9/2026 |
| 10.0.20 | 239 | 2/9/2026 |
| 10.0.15 | 256 | 2/6/2026 |
| 10.0.14 | 253 | 2/6/2026 |
| 10.0.13 | 517 | 2/4/2026 |
| 10.0.12 | 257 | 2/3/2026 |
| 10.0.11 | 263 | 2/2/2026 |
| 10.0.10 | 255 | 1/29/2026 |