.Net Core 之 Entity Framework Core 之 DB Frist

只有学习,内心才能踏实。最近,计划了一些学习计划。每次学习完后,就会写篇博客总结。相当于笔记记录,等有时候用到的时候,可以翻出来看看。再一个是,记录一下学习的过程。用此激励自己进步。如有人看到本文章,有写的不当或者错误的地方,请留言支持。本人自学,总会有错误的地方,请帮忙指点。谢谢

本次计划是学习.Net Core 搭建简单的项目框架。数据交互用EF Core、简单的三层架构(重点层之间的依赖注入)、前端Vue.js(后期会有专栏介绍)。Net Core 的依赖注入,中间件,过滤器等等、.Net Core WebAPI等。


本篇总结Entity Framework Core DB Frist,下面会介绍Code Frist

Entity Framework Core 与Entity Framework 

简单的说:EF Core 是轻量化、可扩展和跨平台版的 Entity Framework。

可以参考:https://docs.microsoft.com/zh-cn/ef/

EF Core DB Frist

概念知识在这里不提了,.Net Core 依然基于.Net Framework,现在我用的.Net Framework 4.6.1 ,目前为止最新的为.Net Framework 4.7.2。.Net Core 用的是2.1版本(dll 的版本要与.net core 的版本对照,不然会产生不必要的麻烦)。

1.创建.Net Core Web

.Net Core 之 Entity Framework Core 之 DB Frist_第1张图片

2.工具> NuGet包管理器>包管理器控制台

选择项目目录

.Net Core 之 Entity Framework Core 之 DB Frist_第2张图片

执行脚本:

Install-Package Microsoft.EntityFrameworkCore.SqlServer

Install-Package Microsoft.EntityFrameworkCore.Tools

Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design

3.运行以下命令以从现有数据库创建模型

SA 登录时的命令:

Scaffold-DbContext "Server= 192.168.1.107;Database = Leaps; Integrated Security = False; User ID = sa; Password = Password123" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models 

Windows 登录时的命令:

Scaffold-DbContext "Server=.;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

Scaffold-DbContext “数据库连接字符串”; Microsoft.EntityFrameworkCore.SqlServer -OutputDir 输出的文件夹,如无此参将生成到项目根目录 ;如果只想生成某些表将使用Tables参数 如: -Tables(“table1”,”table2”,”table3”,”table4”) 。其他参数可输入 Scaffold-DbContext -? 查看帮助.

4.建模成功,如下图所示

.Net Core 之 Entity Framework Core 之 DB Frist_第3张图片

 

 

5.更改DbContext configuration

把Models\BloggingContext.cs 中OnConfiguring函数删掉

.Net Core 之 Entity Framework Core 之 DB Frist_第4张图片

在Models\BloggingContext.cs 添加新的构造函数

public BloggingContext(DbContextOptions options)
    : base(options)
{ }

在appsettings.json 配置数据库连接

.Net Core 之 Entity Framework Core 之 DB Frist_第5张图片

在Startup.cs 中注册 数据库配置信息。

.Net Core 之 Entity Framework Core 之 DB Frist_第6张图片

 6.创建Controller 与View 

此部分就不做详细的介绍。后面会有文章详细的介绍Controller 与View 

 


总结

1:如果说,DB 数据结构有更改,每次更改后需要执行数据库创建模型命令(第三步),执行后,别忘了改掉DBContext

2:遗留的问题就是:在执行第三步建模命令的时候,有时会报错,提示连接失败等信息,需要多执行几次。此问题需要大神指点。谢谢

3:欢迎大家指点错误和给出建议


只有学习,内心才能踏实,我是CHIASING

.Net Core 之 Entity Framework Core 之 DB Frist_第7张图片

你可能感兴趣的:(.NET,Core)