ASP.NET Core基于现有数据库创建EF模型

 更新时间:2022年04月07日 15:30:06   作者:暗断肠  
这篇文章介绍了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];
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查询

创建数据库成功。

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

关于程序包管理器不支持PowerShell 2.0版本问题,解决方法如下:
●打开https://www.microsoft.com/zh-CN/download/details.aspx?id=40855链接地址
●选择Windows6.1-KB2819745-x64-MultiPkg.msu安装升级版本

现在我们再在PowerShell运行以下命令看看:

从现有数据库创建EF模型成功。

4.创建控制器和视图

从现有数据库创建EF模型之后,我们可以通过创建控制器和视图增删改数据。可以通过以下步骤创建控制器跟视图:
●在“解决方案资源管理器”中,右键单击“控制器”文件夹,然后选择“添加”>“控制器”
●选择“视图使用 Entity Framework的MVC控制器”,然后单击“添加”
●将“模型类”设置为“Blog”,将“数据上下文类”设置为“BloggingContext”单击“添加”

到此这篇关于ASP.NET Core基于现有数据库创建EF模型的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 在Code First模式中自动创建Entity模型

    在Code First模式中自动创建Entity模型

    这篇文章介绍了在Code First模式中自动创建Entity模型的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • ASP.NET深度复制和浅度复制分析

    ASP.NET深度复制和浅度复制分析

    这篇文章主要介绍了ASP.NET深度复制和浅度复制,实例分析了ASP.NET中深度复制和浅度复制的区别与具体应用,对于学习ASP.NET有着很好的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • 在.Net Framework应用中请求HTTP2站点的问题解析

    在.Net Framework应用中请求HTTP2站点的问题解析

    随着各大浏览器支持和苹果的带头效应,HTTP2的应用会越来越广泛,但是规模庞大的.NET Framework应用却也不能为了连接HTTP2就升级到NET Core平台。通过本文提供的方案,可以最小成本的实现.NET Framework应用成功访问HTTP2站点,感兴趣的朋友跟随小编一起看看吧
    2022-07-07
  • ASP.NET编译执行常见错误及解决方法汇总

    ASP.NET编译执行常见错误及解决方法汇总

    ASP.NET编译执行常见错误及解决方法汇总,开发asp.net的朋友可以参考下。方便以后解决一些错误。
    2011-12-12
  • .NET Core 2.0如何生成图片验证码完整实例

    .NET Core 2.0如何生成图片验证码完整实例

    这篇文章主要给大家介绍了关于.NET Core 2.0如何生成图片验证码的相关资料,该功能主要是利用ZKWeb.System.Drawing来实现,文中给出了详细的示例代码供大家参考学习,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • ASP.NET MVC3 SEO优化:利用Routing特性提高站点权重

    ASP.NET MVC3 SEO优化:利用Routing特性提高站点权重

    这篇文章主要介绍了ASP.NET MVC3 SEO优化:利用Routing特性消除多个路径指向同一个Action,从而提高站点权重,需要的朋友可以参考下。
    2016-06-06
  • .Net之微信小程序获取用户UnionID的实现

    .Net之微信小程序获取用户UnionID的实现

    这篇文章主要介绍了.Net之微信小程序获取用户UnionID的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • VS2013安装提示必须安装ie10的解决办法

    VS2013安装提示必须安装ie10的解决办法

    这篇文章主要为大家详细介绍了VS2013安装提示必须安装ie10的解决办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Asp.net 文本框全选的实现

    Asp.net 文本框全选的实现

    Asp.net 文本框全选的实现代码,需要的朋友可以参考下。
    2009-12-12
  • .Net Core创建Api进行文件上传功能

    .Net Core创建Api进行文件上传功能

    这篇文章主要介绍了.Net Core创建Api进行文件上传,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03

最新评论