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

(18)ASP.NET Core 基于现有数据库创建EF模型(反向工程)

程序员文章站 2022-08-05 22:26:33
1.简介 Entity Framework Core可通过数据库提供给应用程序的插件访问许多不同的数据库。我们可以通过使用Entity Framework Core构建执行基本数据访问的ASP.NET Core MVC应用程序,对现有数据库进行反向工程以便创建Entity Framework模型。 ......

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];
go
use [blogging];
go
create table [blog] (
    [blogid] int not null identity,
    [url] nvarchar(max) not null,
    constraint [pk_blog] primary key ([blogid])
);
go
create 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
);
go
insert 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查询

(18)ASP.NET Core 基于现有数据库创建EF模型(反向工程)
创建数据库成功。

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

(18)ASP.NET Core 基于现有数据库创建EF模型(反向工程)
关于程序包管理器不支持powershell 2.0版本问题,解决方法如下:
●打开https://www.microsoft.com/zh-cn/download/details.aspx?id=40855链接地址
●选择windows6.1-kb2819745-x64-multipkg.msu安装升级版本

(18)ASP.NET Core 基于现有数据库创建EF模型(反向工程)
现在我们再在powershell运行以下命令看看:
(18)ASP.NET Core 基于现有数据库创建EF模型(反向工程)

(18)ASP.NET Core 基于现有数据库创建EF模型(反向工程)
从现有数据库创建ef模型成功。

4.创建控制器和视图

从现有数据库创建ef模型之后,我们可以通过创建控制器和视图增删改数据。可以通过以下步骤创建控制器跟视图:
●在“解决方案资源管理器”中,右键单击“控制器”文件夹,然后选择“添加”>“控制器”
●选择“视图使用 entity framework的mvc控制器”,然后单击“添加”
●将“模型类”设置为“blog”,将“数据上下文类”设置为“bloggingcontext”单击“添加”
(18)ASP.NET Core 基于现有数据库创建EF模型(反向工程)

(18)ASP.NET Core 基于现有数据库创建EF模型(反向工程)

(18)ASP.NET Core 基于现有数据库创建EF模型(反向工程)


参考文献:
通过现有数据库在asp.net core上开始使用ef core