hekkaaa
@hekkaaa
C#/.NET Developer

Почему EF не получает все данные из таблицы?

Привет!
Архитектура:
Есть 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 контекст подключения, но ведь к одной базе и данные у них общие. Второй таблицы не создается в указанной папке.

62a5b5109844e586282446.png

62a5b5169df6e407037242.png
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы