zoukankan      html  css  js  c++  java
  • 2、Entity Framework Core 3.1入门教程-创建数据库和迁移

    本文章是根据 微软MVP solenovex(杨旭)老师的视频教程编写而来,再加上自己的一些理解。
    视频教程地址:https://www.bilibili.com/video/BV1xa4y1v7rR
    GitHub源码:https://github.com/hllive/LearnEFCore3.1

    1、概述

    如何生成数据库以及后来发生变化进行迁移

    生成迁移的流程

    • 1、创建Model相当于是要映射到数据库中的表
    • 2、创建Migration迁移文件(对源码版本控制友好)
    • 3、使用Migration迁移文件来生成数据库或生成脚本

    执行要求
    AppDbContext 这个类是在Data类库项目中,而Data项目类型是一个类库,想让EFCore生成数据库或数据迁移的话,它必须有一个可执行文件,所以它这一个项目是不能执行的。
    那么就得需要依靠【Web应用程序】,它能生成可执行文件,就得通过它来生成数据库。
    除此之外,Migration还所需的安装库,(这两个库在上节中已经安装)

    • 1、Microsoft.EntityFrameworkCore.Design
    • 2、Microsoft.EntityFrameworkCore.Tools

    安装好包后需要执行一些迁移用到的命令,迁移命令需要在【程序包管理器控制台】中执行;怎么打开程序包管理器控制台:菜单中的【视图】=>【其他窗口】=>【程序包管理器控制台】
    在控制台中的【默认项目】选为Data,也就是包含AppDbContext类的项目

    通过执行以下命令可以查看帮助

    get-help entityframework
    

    常用的两个命令

    • Add-Migration  添加一个迁移文件
    • Update-Database  把迁移文件应用到数据库,执行数据库的更新或创建

    2、执行迁移

    add-migration inital
    

    inital是添加迁移文件的命名(可以自定义)

    执行遇到以下错误

    解决方案:将WebApi应用程序设为启用项目,选中【WebApi项目】右击选择【设为启用项目】

    再执行又遇到以下错误

    解决方案:这个提示是说在WebApi项目中没有安装Microsoft.EntityFrameworkCore.Design,我们在WebApi项目上安装Microsoft.EntityFrameworkCore.Design包就可以了
    看到以下情况这就是执行成功了

    执行成功后在Data项目生成Migrations文件夹

    第一个文件叫xxxx_inital文件就是我们命名的迁移文件
    xxxxModelSnapshot相当于是一个快照,这个文件非常重要,不能手动去改,EFCore使用这个文件来追踪当前所有Model的变更状态

    3、生成数据库或脚本

    • 1、Update-Database  将数据库更新为指定的迁移,可以添加参数-verbose查看执行过程中的一些明细
    • 2、Script-Migration  从迁移文件中生成一个脚本(通常在生产环境中使用)执行命令后会自动打开生成的脚本文件


    看到Done结果就说明已经生成和更新数据库成功,通过【SQL Serve对象资源管理器】可以查看生成后的数据库的情况。

    这种先写Model再生成数据的办法叫Code Frist(代码优先)

    博客文章可以转载,但不可以声明为原创

  • 相关阅读:
    织梦dedecms网站数据库出错如何修复
    如何实现织梦dedecms会员登陆后就不显示广告
    搜索框里显示字段鼠标点击后就隐藏的方法
    织梦dedecms首页如何调用联动类别代码
    织梦CMS友情链接调用方法技巧大全
    DedeCMS 标题seo优化给列表页加上第x页
    DedeCMS采集教程:过滤替换的技巧
    织梦dedecms网站数据库出错如何修复
    压力测试-查看索引
    时间同步服务部署
  • 原文地址:https://www.cnblogs.com/hllive/p/13539378.html
Copyright © 2011-2022 走看看