Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用实体框架核心将数据关联到默认ASP.NET UAM用户_C#_Asp.net Mvc_Asp.net Core_Entity Framework Core 2.1 - Fatal编程技术网

C# 使用实体框架核心将数据关联到默认ASP.NET UAM用户

C# 使用实体框架核心将数据关联到默认ASP.NET UAM用户,c#,asp.net-mvc,asp.net-core,entity-framework-core-2.1,C#,Asp.net Mvc,Asp.net Core,Entity Framework Core 2.1,尝试创建一个简单的MVC应用程序,该应用程序具有基本的用户帐户管理和社会帐户注册 创建了具有个人身份验证的ASP.NET Core 2.2应用程序,通过NuGet(sqlserver和工具)添加了EF Core。我以前用其他语言构建了一些基本的ASP.NET MVC应用程序和MVC应用程序 我在Facebook上登录工作 现在我迷路了 有一个“数据”目录,里面已经有一堆代码,还有普通的MVC目录。但是,我没有看到与启动应用程序时可以清楚访问的帐户管理相关联的任何页面或操作相关的MVC文件,包括/

尝试创建一个简单的MVC应用程序,该应用程序具有基本的用户帐户管理和社会帐户注册

创建了具有个人身份验证的ASP.NET Core 2.2应用程序,通过NuGet(sqlserver和工具)添加了EF Core。我以前用其他语言构建了一些基本的ASP.NET MVC应用程序和MVC应用程序

我在Facebook上登录工作

现在我迷路了

有一个“数据”目录,里面已经有一堆代码,还有普通的MVC目录。但是,我没有看到与启动应用程序时可以清楚访问的帐户管理相关联的任何页面或操作相关的MVC文件,包括
/Identity/account/Login
/Identity/account/Manage
/Identity/account/Manage/SetPassword
,等等

虽然在几分钟内启动并运行所有这些功能很酷,但我已经处于不知道它是如何工作或为什么工作的劣势。寻找任何我希望能对此有所了解的东西,都会给我提供技术文档,让我头晕目眩,并提供零启示

我想收集与每个用户相关联的数据集(“书籍”)。一个用户可以访问多本书。考虑到用户(帐户?)模型不在MVC应用程序的Models目录中,我认为这不是应该添加它的地方。如果是,我不知道如何创建与用户的关联

这就是我在名为
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");
            });
namespace Bookshelf.Data.Migrations
[DbContext(typeof(ApplicationDbContext))]
分部类ApplicationDbContextModelSnapshot:ModelSnapshot
{
受保护的替代无效构建模型(ModelBuilder ModelBuilder)
{
...
实体(“Microsoft.AspNetCore.Identity.IdentityRole”,b=>
{
b、 财产(“Id”)
.ValueGeneratedOnAdd();
b、 属性(“并发处理”)
.IsConcurrencyToken();
b、 财产(“名称”)
.HasMaxLength(256);
b、 属性(“NormalizedName”)
.HasMaxLength(256);
b、 HasKey(“Id”);
b、 HasIndex(“规范化名称”)
.IsUnique()
.HasName(“RoleNameIndex”)
.HasFilter(“[NormalizedName]不为空”);
b、 ToTable(“AspNetRoles”);
});
…等等,这看起来相当可读,但与我迄今为止看到的任何教程都不匹配

TL;DR:

我在哪里/如何正确创建新模型?是(我如何习惯)还是过时

无论哪种方式,在ASP.NET Core 2.2的烘焙用户帐户管理中,如何正确地将数据与用户关联

有一个“数据”目录中已经有一堆代码,以及普通的MVC目录。但是,我没有看到与启动应用程序时可以清楚访问的帐户管理相关联的任何页面或操作相关的MVC文件,包括/Identity/account/Login、/Identity/account/Manage、/Identity/account/Manage/SetPas剑等

这是因为ASP.NET Core 2.1提供的标识与ASP.NET Core项目模板相同。如果要查看这些标识相关的代码并进行自定义,则必须在项目中进行设置

以下是有关这方面的更多详细信息:


此外,如果您需要MVC格式的ASP.NET Core标识,那么这里是我的GitHub,其中Razor页面标识已在ASP.NET Core 2.2中转换为MVC。

有些关联,尝试上面的脚手架标识链接时,没有“新的脚手架项目”添加上下文中的选项,在VS 2017中使用core 2.2。@RandyHall您尝试过:
YourProject>add>New Scaffold Item>Identity
?是。
MyProject>add
没有
New Scaffold Item
选项,这很奇怪。我相信我有所有正确的软件包to@RandyHall将您的VS 2017更新至最新版本瑟!哈哈,就是这样