zoukankan      html  css  js  c++  java
  • EF Core开发模式之DB First

    EF Core开发模式之DB First

      DB First模式比较符合我们的传统开发模式,概念模型设计完成后,首先创建数据库,然后通过EF Core与数据库建立映射关系,以数据库为驱动,自动生成C#的实体模型,从而驱动整个开发流程。

    一、环境准备

    • 开发环境:.NET Core 3.1
    • IDE工具:Visual Studio 2019
    • 数据库:SQL Server 2012

    二、依赖Package包

    Microsoft.EntityFrameworkCore
    Microsoft.EntityFrameworkCore.SqlServer
    Microsoft.EntityFrameworkCore.Design
    Microsoft.EntityFrameworkCore.Tools(对Scaffold-DbContext命令的支持)

    可通过“dotnet cli” 命令行或“nuget包管理器”添加依赖包引用。

      1.通过“dotnet cli命令行”添加所需的依赖包。

    在要添加引用的项目文件夹根目录打开命令行窗口,执行添加package的命令即可。dotnet cli命令行添加package语法如下:
    模板: dotnet add package <packageName>
    例子:dotnet add package Microsoft.EntityFrameworkCore.Tools
    如在项目“efc1”中添加“Microsoft.EntityFrameworkCore.Tools”包。

      2. 通过Visual Studio中的“nuget包管理器”实现相关包的添加。

    在VS中打开“nuget包管理器”,搜索找到我们需要的Package,选择要添加到的项目后,点击安装即可。

    三、生成实体模型

      1.在Visual Studio中打开“程序包管理器控制台”;

      2.在控制台命令行中,输入Scaffold-DbContext命令,完成从数据库到C#模型代码的自动创建。

    Scaffold-DbContext "Data Source=.;Initial Catalog=EFTest;Persist Security Info=True;User ID=sa;PWD=as" Microsoft.EntityFrameworkCore.SqlServer -o Models -f
    如果运行出错可以考虑:数据库名称是否出错(Initial Catalog=EFTest);账户和密码是否出错(User ID=sa;PWD=as)。

    **其中,命令中的“Microsoft.EntityFrameworkCore.SqlServer”,指明了使用SqlServer数据库Provider,用来连接SqlServer数据库,其它数据库需要调整相应的Provider即可。

    Scaffold-DbContext命令参数说明:

    -OutputDir (-o) :实体文件所存放的文件目录

    -ContextDir : DbContext文件存放的目录

    -Context : DbContext文件名

    -Schemas : 需要生成实体数据的数据表所在的模式

    -Tables(-t) : 需要生成实体数据的数据表的集合

    -Force (-f)强制执行,重写已经存在的实体文件**

      3.命令执行完成后,在项目的Models目录下,就自动的创建好了相关的实体模型类和DbContext上下文类了,之后我们直接使用即可。

    此图中包含项目原有的文件,同时代码部分为任意选取的一个文件的任意部分

    此图中包含项目原有的文件,同时代码部分为任意选取的一个文件的任意部分

    本博客所有内容均为学习日记,如有错误,烦请指正;如有侵权,请联系作者删除。 有关文章内容方面,请尽情留言,大家相互探讨
  • 相关阅读:
    四种会话跟踪技术的对比
    【转载】.NET中使用Redis
    【转载】Windows平台下利用APM来做负载均衡方案
    【转载】Windows平台分布式架构实践
    MVC插件式开发平台
    如何用JS和HTML 做一个桌面炒股小插件【原创】
    如果用HTML5做一个在线视频聊天【原创】
    BraveOS正式版发布,希望大家下载使用
    短期将不再更新更多内容,见谅!
    打造自己的移动绿色版 Python 环境
  • 原文地址:https://www.cnblogs.com/nvyuan/p/12323702.html
Copyright © 2011-2022 走看看