Как спроектировать модель в Blazor в отношении пользователя аутентификации с использованием Entity Framework?

#entity-framework #authentication #blazor-server-side

#entity-framework #аутентификация #blazor-на стороне сервера

Вопрос:

Я начал разрабатывать приложение на стороне сервера Blazor, которое имеет аутентификацию для отдельных учетных записей пользователей, которая поставляется с Blazor. Итак, уже есть такие таблицы базы данных, как «AspNetUsers» с именем пользователя и так далее.

Теперь я хочу создать новую таблицу, которая будет простой записью, которую пользователь может сохранить в базе данных. Давайте упростим структуру записи, которую я имею в виду, чтобы она обладала следующими свойствами:

  • EntryID (PK)
  • Идентификатор пользователя (FK)
  • EntryText
  • Дата

Я хочу использовать подход code first. Я не знаю, как должна выглядеть связанная модель для объекта entry, чтобы entity framework распознала связь между записью и пользователем. В документации Microsoft для EFCore приведен пример отношений, где находится объект Blog и Post, а в классе Blog — список сообщений, и у сообщения есть свойство Blog. Создавая таблицы пользователя с помощью аутентификации Blazor, у меня нет класса модели пользователя (или я уже ошибаюсь здесь?). Должен ли я создать класс модели пользователя, чтобы я мог поместить список записей внутри пользователя и присвоить записи свойство пользователя? И если я создам этот класс User, как мне это сделать, чтобы entity Framework знала, что этот класс связан с пользовательским объектом в базе данных?

Извините, я новичок в Entity Framework и аутентификации и разработке структур базы данных. Я уверен, что на этот вопрос нетрудно ответить, но я немного смущен entity Framework.

Приветствую, Стефан

Ответ №1:

Хорошо, я думаю, я сам понял, как это сделать. Подход, основанный на базе данных, просто работает намного лучше для меня. Я создал объект Entry в базе данных, определил идентификатор пользователя как внешний ключ. После выполнения команды, которая позволяет entity framework создавать классы моделей, класс entry получил свойство User, а hat — коллекцию записей. Постепенно я понимаю магию, которую создает entity framwork 😉