ASP.NET|ASP.NET Core基于现有数据库创建EF模型
1.简介
Entity Framework Core可通过数据库提供给应用程序的插件访问许多不同的数据库。我们可以通过使用Entity Framework Core构建执行基本数据访问的ASP.NET Core MVC应用程序,对现有数据库进行反向工程以便创建Entity Framework模型。
2.创建数据库
我们可以通过Visual Studio创建一个数据库再进行演示,步骤如下:
●打开Visual Studio开发工具
●“工具”>“连接到数据库”
●选择“Microsoft SQL Server”(因为我本机是用MSS),然后单击“确定”
●输入“(localdb)\mssqllocaldb”或者“.”作为服务器名称
●选择或输入“master”作为数据库名称,然后单击“确定”
●master数据库现在显示在“服务器资源管理器”的“数据连接”中
●右键单击“服务器资源管理器”中的数据库,然后选择“新建查询”
●将下列脚本复制到查询编辑器中:
CREATE DATABASE [Blogging]; GOUSE [Blogging]; GOCREATE TABLE [Blog] ([BlogId] int NOT NULL IDENTITY,[Url] nvarchar(max) NOT NULL,CONSTRAINT [PK_Blog] PRIMARY KEY ([BlogId])); GOCREATE TABLE [Post] ([PostId] int NOT NULL IDENTITY,[BlogId] int NOT NULL,[Content] nvarchar(max),[Title] nvarchar(max),CONSTRAINT [PK_Post] PRIMARY KEY ([PostId]),CONSTRAINT [FK_Post_Blog_BlogId] FOREIGN KEY ([BlogId]) REFERENCES [Blog] ([BlogId]) ON DELETE CASCADE); GOINSERT INTO [Blog] (Url) VALUES('http://blogs.msdn.com/dotnet'),('http://blogs.msdn.com/webdev'),('http://blogs.msdn.com/visualstudio')GO
●点击Execute按钮或者敲击Ctrl+Shift+E执行T-SQL查询
![ASP.NET|ASP.NET Core基于现有数据库创建EF模型](https://img.it610.com/image/info11/6f0140ed816f4d70b958bb1ae7128b47.jpg)
文章图片
创建数据库成功。
3.对模型实施反向工程 3.1反向工程
什么是反向工程?反向工程开始时会读取链接数据库的架构,它将读取有关表、列、约束和索引的信息。接下来,它使用的架构信息创建EF Core模型。使用表来创建实体类型;使用列来创建属性;外键用于创建关系。最后,从你的应用程序中搭建实体类型的类Fluent API和数据批注和重新创建相同的模型。
3.2基于现有数据库创建EF模型
当我们在PowerShell运行以下命令从现有数据库创建模型时候,会提示如下错误:
Scaffold-DbContext "Server=(localdb)\mssqllocaldb; Database=Blogging; Trusted_Connection=True; " Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
【ASP.NET|ASP.NET Core基于现有数据库创建EF模型】
![ASP.NET|ASP.NET Core基于现有数据库创建EF模型](https://img.it610.com/image/info11/fb99d0bf5f2a4e15962d85c51d8d1a3c.jpg)
文章图片
关于程序包管理器不支持PowerShell 2.0版本问题,解决方法如下:
●打开https://www.microsoft.com/zh-CN/download/details.aspx?id=40855链接地址
●选择Windows6.1-KB2819745-x64-MultiPkg.msu安装升级版本
![ASP.NET|ASP.NET Core基于现有数据库创建EF模型](https://img.it610.com/image/info11/3911a6fa456b433497d33319f7925264.jpg)
文章图片
现在我们再在PowerShell运行以下命令看看:
![ASP.NET|ASP.NET Core基于现有数据库创建EF模型](https://img.it610.com/image/info11/c398b062e49c4180b385c1781d2d298d.jpg)
文章图片
![ASP.NET|ASP.NET Core基于现有数据库创建EF模型](https://img.it610.com/image/info11/83e10bcd5a274cb7b7c685a6c0adf886.jpg)
文章图片
从现有数据库创建EF模型成功。
4.创建控制器和视图 从现有数据库创建EF模型之后,我们可以通过创建控制器和视图增删改数据。可以通过以下步骤创建控制器跟视图:
●在“解决方案资源管理器”中,右键单击“控制器”文件夹,然后选择“添加”>“控制器”
●选择“视图使用 Entity Framework的MVC控制器”,然后单击“添加”
●将“模型类”设置为“Blog”,将“数据上下文类”设置为“BloggingContext”单击“添加”
![ASP.NET|ASP.NET Core基于现有数据库创建EF模型](https://img.it610.com/image/info11/35ce083c36254145b13a4438fdaa6b03.jpg)
文章图片
![ASP.NET|ASP.NET Core基于现有数据库创建EF模型](https://img.it610.com/image/info11/11b690a500774a0ba9d157bfcc06259b.jpg)
文章图片
![ASP.NET|ASP.NET Core基于现有数据库创建EF模型](https://img.it610.com/image/info11/589b170673a14e4d92b0399f154025fe.jpg)
文章图片
到此这篇关于ASP.NET Core基于现有数据库创建EF模型的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
推荐阅读
- 基于原生CSS+JS实现一个标签输入框
- 【N32G457】基于RT-Thread和N32G457的墨水屏日历
- 毕业设计|基于springboot的学生毕业选题管理系统
- 毕业设计|基于Springboot的心理健康平台
- 毕业设计|基于Springboot的医院管理系统
- ASP.NET|ASP.NET Core记录日志
- 基于Python实现对比Exce的工具
- ASP.NET|ASP.NET Core中的Options选项模式
- ASP.NET|ASP.NET Core中MVC模式实现路由一
- 基于springboot与axios的整合问题