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上下文类了,之后我们直接使用即可。

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

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

    本博客所有内容均为学习日记,如有错误,烦请指正;如有侵权,请联系作者删除。 有关文章内容方面,请尽情留言,大家相互探讨
  • 相关阅读:
    VMWARE Linux环境下如何设置共享文件夹?
    linux本地源#如何挂载本地iso镜像作为本地源
    centos7修改系统语言为简体中文
    Redhat镜像-RHEL-官方镜像下载大全
    如何连接到Oracle数据库?
    Oracle 数据库创建导入
    Oracle 12C安装教程
    Oracle 11g安装
    Linux下安装Oracle11g服务器
    Oracle简介
  • 原文地址:https://www.cnblogs.com/nvyuan/p/12323702.html
Copyright © 2011-2022 走看看