欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

跟着微软学ASP.NET Core(三) -使用EF框架与身份验证创建CRUD页面

程序员文章站 2024-02-29 21:17:28
...

这篇文章主要是在 通过现有数据库在 ASP.NET Core 上开始使用 EF Core 和 通过现有数据库在 ASP.NET Core 上开始使用 EF Core 这两篇文章作为基础的,可以先读完这两篇文章并做完文章的步骤再来看看。

好了,我们现在开始。

在创建项目的时候,我们会使用身份验证。

跟着微软学ASP.NET Core(三) -使用EF框架与身份验证创建CRUD页面

在右边的“Change Authentication” 选择个人身份验证。这样一来,我们的网站就默认有了身份验证功能了,如果这时候我们在网站上面使用注册、登陆的功能的话,网站会自动建立用于身份验证的数据库,但是,因为自己的数据库已经有了数据了,所以我希望可以使用我自己的数据库。

这时候,我们在VS的服务器资源管理器增加我们的数据库文件(有时会失败,因为数据库文件和数据库还在连接,把数据库文件从数据库分离就好。)

跟着微软学ASP.NET Core(三) -使用EF框架与身份验证创建CRUD页面

然后右键数据库,在属性窗口复制数据库的连接字符串。我们通过这个连接字符串来连接EF框架来对数据进行操作。

跟着微软学ASP.NET Core(三) -使用EF框架与身份验证创建CRUD页面

然后实施EF的反向工程:

Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

把这一段“Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;"替换为我们的连接字符串

不过记住,数据库的表中要有主键,不然生成会失败。

好了,之后我们在Startup.cs 中注册并配置上下文

using EFGetStarted.AspNetCore.ExistingDb.Models;

引用我们的models,请注意,这里是“项目名称.Models”的模式,每个人都不同。

然后找到ConfigureServices(...)方法,增加这一句话

(这里要是按照下面来输入BloggingContext、NewsTablesContext的上下文类是不存在的,可以先通跳过这一步,先创建CRUD框架再执行修改)

var connection = @"Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;ConnectRetryCount=0";
    services.AddDbContext<BloggingContext>(options => options.UseSqlServer(connection));

另一种方法,可以使用配置文件

            services.AddDbContext<NewsTablesContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

建立完成后,我们可以省事地使用自带的CRUD框架来实现页面。

在解决方案资源管理器中,右键单击“Controllers”文件夹 >“添加”>“新搭建基架的项目”。

跟着微软学ASP.NET Core(三) -使用EF框架与身份验证创建CRUD页面

在“添加基架”对话框中,点击“包含视图的 MVC 控制器(使用 Entity Framework)”>“添加”。

跟着微软学ASP.NET Core(三) -使用EF框架与身份验证创建CRUD页面

填写“添加控制器”对话框:

  • 模型类:你要创建的模型
  • 数据上下文类:用于EF框架与数据库进行操作,你自己起名字,注意要和上面的配置文件中的类如”BloggingContext“这里就是BloggingContext,”NewsContext“这里就是”NewsContext“。

跟着微软学ASP.NET Core(三) -使用EF框架与身份验证创建CRUD页面

  • 视图:将每个选项保持为默认选中状态
  • 控制器名称:保留默认的 MoviesController
  • 点击“添加”

跟着微软学ASP.NET Core(三) -使用EF框架与身份验证创建CRUD页面

然后就点运行,并移动到页面进行测试吧。

 

 

跟着微软学ASP.NET Core(三) -使用EF框架与身份验证创建CRUD页面

ps 输入中文会有乱码,修改页面的编码方式。

相关标签: Asp.Net Core