/
ilyakos
/
ChatWithAI
Обзор
Документация
Войти
/
ilyakos
/
ChatWithAI
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ChatWithAI.Database/Extensions/DatabaseServiceExtensions.cs
37 строк
2 KB
ilyakos
feat: Добавляет сущности Prompt, Chat, Message с репозиториями
23 май 2026, 16:07
23 май 2026, 16:07
9fd07e3
Код
Авторство
О чём код?
using ChatWithAI.Database.Repositories; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; namespace ChatWithAI.Database.Extensions; /// <summary> /// Методы расширения для регистрации слоя базы данных в DI-контейнере. /// </summary> public static class DatabaseServiceExtensions { /// <summary> /// Регистрирует контекст базы данных и репозитории в контейнере зависимостей. /// Вызывать при конфигурации приложения в <c>Program.cs</c>. /// </summary> /// <param name="services">Коллекция сервисов приложения.</param> /// <param name="connectionString">Строка подключения к PostgreSQL.</param> /// <returns>Та же коллекция сервисов для цепочки вызовов.</returns> /// <exception cref="ArgumentNullException">Если строка подключения не задана.</exception> public static IServiceCollection AddDatabase( this IServiceCollection services, string connectionString) { ArgumentException.ThrowIfNullOrWhiteSpace(connectionString, nameof(connectionString)); services.AddDbContext<AppDbContext>(options => options.UseNpgsql(connectionString) .UseLazyLoadingProxies()); services.AddScoped<IUserRepository, UserRepository>(); services.AddScoped<IPromptRepository, PromptRepository>(); services.AddScoped<IChatRepository, ChatRepository>(); services.AddScoped<IMessageRepository, MessageRepository>(); return services; } }