码迷,mamicode.com
首页 > 其他好文 > 详细

001 Entity Framework Core 2.x P1

时间:2020-04-12 16:44:27      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:none   其它   evel   mil   top   等于   tab   l命令   data   

001 Entity Framework Core 2.x P1

  • 概述:
    • Entity Framework Core 简介
    • 创建Model
    • 与数据库交互
    • 关系数据
    • ASP.NET Core中的应用

EF Core 是什么?

EF Core是微软官方开发的一款ORM框架.

技术图片
EFCore原理

EF Core 相对于其他ORM的优势在于可以大大的提高生产力,并且,由于是微软自己的产品,所以和.Net Core的结合也会非常的好,可以提供开发者的工作效率,但是相应的, EFCore 的性能也会相对的要差于 .Net 世界的一些其它主流ORM框架,比如 Dapper,SqlSugar等.

为什么使用EFCore

  • 生产力
  • 支持很多数据库
  • 可以使用Linq
  • 注重领域[Domain],而不是数据库

EFCore 2.x支持的平台框架

  • .Net Core 2.x
  • .Net 4.6.1+
  • UWP
  • Xamarin 等

安装EFCore

我们需要再Nuget包管理其中搜索一下安装包即可.

Microsoft.EntityFrameworkCore

技术图片
安装界面

值得注意的是Microsoft.EntityFrameworkCore只是提供了,基本的EFCore的操作类,如果我们需要操作具体的数据库,那么我们还需要安装操作指定的数据的Providers开发包,下面我们以SqlServer数据库为例,所以我们需要再安装支持SqlServer的EFCore开发包,在Nuget中搜索以下信息即可.

Microsoft.EntityFrameworkCore.SqlServer

技术图片
安装界面

查看本机SqlServer 实例的 cmd命令

Sqllocaldb info

技术图片
查询结果

EFCore 迁移

  • 创建/删除 Domain Model
  • 创建迁移文件
  • 应用迁移到数据库,获取生成SQL脚本

迁移用的库

如果我们想要在Vs中依赖EFCore使用迁移命令,将Model代码映射到数据库中,我们还需要再Vs中安装一个依赖包.

Microsoft.EntityFrameworkCore.Tools

  • Microsoft.EntityFrameworkCore.Tools :用来执行PowerShell命令
  • Microsoft.EntityFrameworkCofe.Desion :是一个迁移引擎

技术图片
依赖关系

  • 需要一个可执行的项目
  • 必须在启动项目里

技术图片
安装页面

安装完成之后,我们就可以在Vs的包管理控制台中,输入迁移命令,将项目中的Model,迁移至数据库中,生成表,以及表数据,在包管理控制器中,实际上我们可以执行PowerShell的相关命令.

我们需要选择DbContext所在的项目.

我们现在可以在包管理控制台中,查看EFCore相关的命令,我们数据一下命令来进行查看.

get-help entityframeworkcore

技术图片
查询的结果

命令解释:

Add-Migration 如果创建了Model,或者已创建的Model发生了改变,那么此命令执行就会生成一些sql语句,这些sql语句执行之后,那么数据库中表结果,就会根据model,进行匹配,并且一同演进. (只是生成sql语句,这个sql语句并没有执行.)

Update-Database 等于是在Add-Migration命令的基础上,将生成好的sql执行到数据库中,达到数据库和Model同步的目的.

现在我们进行迁移,此处需要注意的是在进行迁移之前,我们需要将DbContext所在的项目设置为启动项,否则在之前Add-Migration命令的时候会报错,如下图:

技术图片
命令执行报错

我们修改启动项之后再执行Add-Migration命令:

技术图片
命令执行成功

这个时候,在EFCore.Data项目中会自动创建一个Migrations文件夹,并生成,此次迁移要使用到的变化(类似于一个快照)即,迁移文件.

技术图片
迁移文件

我们可以根据此次生成的迁移文件,根据 Script-Migration 命令 生成需要迁移的sql脚本.

技术图片
命令执行成功

技术图片
成功生成了迁移相关的sql语句

在开发的时候,我们可以使用Upate-Database命令来直接生成数据库,如果我们想看执行的明细,我们可以在Update-Database 命令后面跟一个 -verbose参数,即Update-Database -verbose

技术图片
命令执行成功

此时生成的数据库文件在当前计算机的当前用户的目录下,我的电脑是
C:\Users\ZYJNO

技术图片
数据库文件

我们通过数据库对象管理器,就可以看到我们所创建的数据库了.

技术图片
数据库对象管理器

001 Entity Framework Core 2.x P1

标签:none   其它   evel   mil   top   等于   tab   l命令   data   

原文地址:https://www.cnblogs.com/HelloZyjS/p/12685793.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!