/
kochkatech
/
Queue
Обзор
Документация
Войти
/
kochkatech
/
Queue
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
dev
src/Queue.Data/QueueDbContextFactory.cs
32 строки
1 KB
kochkareal
feat: табло очереди
24 июл 2026, 22:27
24 июл 2026, 22:27
2805d52
Код
Авторство
О чём код?
using System; using System.IO; namespace Queue.Data; // Простая фабрика DbContext для клиентских приложений (WPF) — без полноценного DI-контейнера. // Каждый вызов CreateDbContext() открывает новый короткоживущий контекст, что безопаснее // для многопоточного/асинхронного использования, чем один общий долгоживущий DbContext. // // Путь к БД по умолчанию — общий для машины (%ProgramData%), а не относительный "queue.db": // на одной точке обслуживания Queue.Admin и Queue.Server (см. src/Queue.Server) — это разные // процессы с разными рабочими каталогами, им нужен один и тот же файл. public class QueueDbContextFactory { public string DbPath { get; } public QueueDbContextFactory(string? dbPath = null) { DbPath = dbPath ?? GetDefaultDbPath(); } public QueueDbContext CreateDbContext() => new QueueDbContext(DbPath); private static string GetDefaultDbPath() { var directory = Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "КОЧКАТЕХ", "Queue"); Directory.CreateDirectory(directory); return Path.Combine(directory, "queue.db"); } }