Привет!
Архитектура:
Есть ViewModel -
A1, два Service класса -
B1(наполняет таблицу) и
B2(читает данные из нее) и Data класс работающий с EF -
C1.
БД:
SQLITE
Все это подключается через класс
ApplicationContext имеющий следующий код ( несущественная часть кода обрезана ):
public class ApplicationContext : DbContext
{
public ApplicationContext()
{
Database.EnsureDeleted();
Database.EnsureCreated();
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite(
"Data Source=testbaseChart.db");
optionsBuilder.UseLazyLoadingProxies();
}
}
Если я в ViewModel классе
А1 инициирую
ApplicationContext и закидываю его в конструктор классов сервиса
B1 и
B2, то чтение данных из таблицы БД происходит отлично (
помимо конфликтов обращения к таблице).
Проблема:
Если, я инициирую экземпляр класса
ApplicationContext в каждом сервисе
B1 и
B2 ОТДЕЛЬНО, то при получении данных из таблицы, в классе
B2 я вижу
null в одной из столбиков. Хотя данные в столбике уже есть (я это смотрю через Dbeaver).
Черная магия не иначе. Hostname он видит при этом, а соседний столбик для него пуст всегда.
Прошу подсказать, в связи с чем происходит такое. Да тут 2 контекст подключения, но ведь к одной базе и данные у них общие. Второй таблицы не создается в указанной папке.