Вопрос для начинающих по связям с C# Entity Framework ⇐ C#
-
Anonymous
Вопрос для начинающих по связям с C# Entity Framework
Я новичок в Entity Framework и пытаюсь разобраться в нем. Я работаю со следующим:
Тип базы данных: SQLite
2 таблицы, созданные с помощью
СОЗДАТЬ ТАБЛИЦУ Учетных записей ( Идентификатор аккаунта: STRING, Отображаемое имя STRING, ПЕРВИЧНЫЙ КЛЮЧ (AccountId) ) СОЗДАТЬ ТАБЛИЦУ Отзывы ( Автор STRING, Создано: STRING, Идентификатор ЦЕЛОЕ ЧИСЛО, ПЕРВИЧНЫЙ КЛЮЧ(Идентификатор) ) Сущности в C#:
[PrimaryKey(nameof(AccountId))] класс AccountEntry { общедоступная строка? AccountId {получить; набор; } общедоступная строка? DisplayName {получить; набор; } } и
[PrimaryKey(nameof(Id))] Обзор классаЗапись { общедоступная строка? Автор {получить; набор; } общедоступная строка? CreatedOn {получить; набор; } общественный ИНТ Id {получить; набор; } вход в публичный аккаунт? AuthorAccount {получить; набор; } } Моя цель — заполнить поле AuthorAccount объектом AccountEntry, полученным в результате поиска, который использует идентификатор из поля Author для поиска в таблице «Счета».
С этой целью я перегрузил OnModelCreating следующим образом:
защищенное переопределение void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity() .HasOne(e => e.AuthorAccount) .С одним() .HasForeignKey(e => e.Author); } Доступ к DbSet из моего класса, производного от DbContext, не вызывает исключения, но свойство AuthorAccount в полученном Наборы данных ReviewEntry всегда имеют значение null, и я не могу понять, почему (ReviewEntry.Account содержит действительный идентификатор учетной записи, доступный в Таблица счетов).
Я новичок в Entity Framework и пытаюсь разобраться в нем. Я работаю со следующим:
Тип базы данных: SQLite
2 таблицы, созданные с помощью
СОЗДАТЬ ТАБЛИЦУ Учетных записей ( Идентификатор аккаунта: STRING, Отображаемое имя STRING, ПЕРВИЧНЫЙ КЛЮЧ (AccountId) ) СОЗДАТЬ ТАБЛИЦУ Отзывы ( Автор STRING, Создано: STRING, Идентификатор ЦЕЛОЕ ЧИСЛО, ПЕРВИЧНЫЙ КЛЮЧ(Идентификатор) ) Сущности в C#:
[PrimaryKey(nameof(AccountId))] класс AccountEntry { общедоступная строка? AccountId {получить; набор; } общедоступная строка? DisplayName {получить; набор; } } и
[PrimaryKey(nameof(Id))] Обзор классаЗапись { общедоступная строка? Автор {получить; набор; } общедоступная строка? CreatedOn {получить; набор; } общественный ИНТ Id {получить; набор; } вход в публичный аккаунт? AuthorAccount {получить; набор; } } Моя цель — заполнить поле AuthorAccount объектом AccountEntry, полученным в результате поиска, который использует идентификатор из поля Author для поиска в таблице «Счета».
С этой целью я перегрузил OnModelCreating следующим образом:
защищенное переопределение void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity() .HasOne(e => e.AuthorAccount) .С одним() .HasForeignKey(e => e.Author); } Доступ к DbSet из моего класса, производного от DbContext, не вызывает исключения, но свойство AuthorAccount в полученном Наборы данных ReviewEntry всегда имеют значение null, и я не могу понять, почему (ReviewEntry.Account содержит действительный идентификатор учетной записи, доступный в Таблица счетов).
Мобильная версия