Попытка создать простое приложение MVC, которое имеет базовое управление учетными записями пользователей с регистрацией в социальных сетях.
Создано приложение ASP.NET Core 2.2 с индивидуальной аутентификацией, добавлено ядро EF через NuGet (sqlserver и инструменты).Ранее я создавал некоторые базовые приложения ASP.NET MVC и приложения MVC на других языках.
Я получил логин Facebook для работы за этого урока .
Теперь я потерялся.
Там есть каталог «Данные», в котором уже есть куча кода, и нормальные каталоги MVC.Однако я не вижу файлов MVC, которые соответствовали бы каким-либо страницам или действиям, связанным с управлением учетными записями, к которым у меня есть доступ, когда я запускаю приложение, включая /Identity/Account/Login
, /Identity/Account/Manage
, /Identity/Account/Manage/SetPassword
и т. Д.
Хотя все эти функции работают и работают в считанные минуты, это круто, но я уже не в курсе, как и почему это работает.Поиск всего, что я ожидал бы пролить некоторый свет на это, дает мне техническую документацию, которая заставляет мою голову вращаться и обеспечивает нулевое просветление.
Я хочу, чтобы коллекция наборов данных («Книги») была связана с каждым пользователем.Один пользователь для многих книг.Учитывая, что модель User (account?) Отсутствует в каталоге Models приложения MVC, я не думаю, что это то место, где ее нужно добавить.И если это так, я не знаю, как создать эту связь с пользователем.
Это то, что я вижу в файле с именем ApplicationDbContextModelSnapshot.cs
namespace Bookshelf.Data.Migrations
[DbContext(typeof(ApplicationDbContext))]
partial class ApplicationDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
...
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd();
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken();
b.Property<string>("Name")
.HasMaxLength(256);
b.Property<string>("NormalizedName")
.HasMaxLength(256);
b.HasKey("Id");
b.HasIndex("NormalizedName")
.IsUnique()
.HasName("RoleNameIndex")
.HasFilter("[NormalizedName] IS NOT NULL");
b.ToTable("AspNetRoles");
});
... и т. Д., Который выглядит довольно читабельным, но не соответствует ни одному изучебники, которые я видел до сих пор.
TL; DR:
Где / как правильно создать новые модели?Это как это в каталоге Models (как я привык) или это устарело?
В любом случае, как правильно связать данные с пользователем, учитывая встроенное управление учетными записями пользователей для ASP.NET Core 2.2?