Package Description
$ dotnet add package Reo.Core.Database.AbstractionsReo.Core.Database.Abstractions — это абстракционный пакет для работы с базами данных в .NET-приложениях. Он
предоставляет инструменты для управления контекстами DbContext, импорта и экспорта данных, а также работы с
сущностями. Пакет решает задачи, связанные с централизованным управлением базами данных, автоматизацией процесса
инициализации данных и поддержкой типизированных сущностей.
IEntityId и IEntityGuidIdint или Guid).IEntityState и IEntityStateEnumEntityStates.ISeedServiceISeedSerializerISimpleSeedDataImporterint, Guid, кастомные типы).Install-Package Reo.Core.Database.Abstractions
dotnet add package Reo.Core.Database.Abstractions
services.AddDbContext<MyDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("Default")));
services.AddScoped<ISeedService, SeedService>();
services.AddScoped<ISeedSerializer, JsonSeedSerializer>();
services.AddScoped<ISimpleSeedDataImporter, SimpleSeedDataImporter>();
appsettings.json.ISeedServicepublic 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();
}
}ISimpleSeedDataImportervar 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} записей.");var entity = new MyEntity { EntityState = EntityStates.Actual };
if (entity.EntityState.HasFlag(EntityStates.Editing))
{
// Обработка редактирования
}Данный пакет распространяется под лицензией MIT.