Как правильно работать с базой данных из нескольких окон?

126
10 марта 2021, 08:30

Как организовать работу с одной базой данных SQLite из нескольких окон?

Я пишу программу, которая позволяет в БД вносить подключаемые к компьютеру съемные устройства и вести историю подключений.

С помощью Entity Framework и пакетов SQLite, я создал класс Context, который совпадает с таблицами в БД (реализует DbSet и т.д.) и сделал класс DbManager, который позволяет ввести более высокоуровневые абстракции типа добавить устройство и т.д.

Применительно к MVVM этот код является моделью, и я его разместил в соответствующем месте, но не знаю как быть далее.
У меня есть несколько окон, одни позволяют вносить записи, другие позволяют просматривать, редактировать и т.д., соответственно в каждом окне надо создать экземпляр класса DbManager? Это вроде как ресурсоемкая операция, и логичнее было бы использовать один экземпляр этого класса во всех окнах.

В общем как сделать работу с базой данных из нескольких окон правильно и соблюдая паттерн MVVM?

READ ALSO
Ответ MySQL: Документация #1130 - Host 'localhost' is not allowed to connect to this MySQL server

Ответ MySQL: Документация #1130 - Host 'localhost' is not allowed to connect to this MySQL server

Случайно удалил пользователей в phpmyadmin, поcле чего в данный ресурс не заходит вообще, выдает ошибку:

110
Как выполнить UPDATE нескольких значений по данным из другой таблицы?

Как выполнить UPDATE нескольких значений по данным из другой таблицы?

Есть 2 таблицы, мне нужно увеличить значение price стобца s_variants на 10% где brand_id = 84 и price < 1000Пробывал сделать через JOIN он не работает, попробывал...

110
Как переместить файл в нужную папку с php?

Как переместить файл в нужную папку с php?

Нужна помощь по php знающих людейЯ беру с сайта картинку и ее название с полей формы input типом text и input типом file, которые пользователь загружает...

90
Ответ на запрос об оплате php

Ответ на запрос об оплате php

Читаю документацию по реализации оплаты на сайте, и не понимаю, как реализовать ответ

128