zoukankan      html  css  js  c++  java
  • EF Core 2.0中怎么用DB First通过数据库来生成实体

    要在EF Core使用DB First首先要下载三个Nuget包,在Nuget的Package Manager Console窗口中依次敲入下面三个命令即可:

    Microsoft.EntityFrameworkCore.SqlServer

    Install-Package Microsoft.EntityFrameworkCore.SqlServer

    Microsoft.EntityFrameworkCore.Tools

    Install-Package Microsoft.EntityFrameworkCore.Tools

    Microsoft.EntityFrameworkCore.SqlServer.Design

    Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design

    当然你也可以用图形化的Nuget包管理器来下载这三个程序包。

    之后在Package Manager Console中敲入如下命令,即可在项目中生成数据库各个表的相应Entity和DbContext:

    Scaffold-DbContext "Server=localhost;User Id=sa;Password=1qaz!QAZ;Database=TestDB" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Entities -f

    其中-OutputDir 可以声明在项目的某个文件夹路径下生成所有实体,上例中我们就将所有数据库实体生成到了Entities这个文件夹下,-f参数表示如果以前已经生成过实体文件了,那么就强制覆盖以前生成的文件,如果不用-f参数,在-OutputDir的路径下如果有同名的实体文件那么上面的命令会报错,导致生成失败。

    另外也可以用-t参数来声明,只生成数据库中一张表的实体:

    Scaffold-DbContext "<ConnectionString>" Microsoft.EntityFrameworkCore.SqlServer -t <tablename> -f

    还可以使用-Context参数来声明生成DbContext类的名字,-Schemas参数来声明只为某些SCHEMA下的数据库对象(表、视图等)生成实体类,如下所示:

    Scaffold-DbContext "Server=localhost;User Id=sa;Password=1qaz!QAZ;Database=TestDB" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Entities -f -Context MyDbContext -Schemas "dbo","RAW","src"

    可以参考:To handle multiple schemas in one DBContext

    Scaffold-DbContext命令的所有参数解释可以参考这里

  • 相关阅读:
    51Nod 1080
    51Nod 1015 水仙花数
    51Nod 1009 数字1的个数 | 数位DP
    Java中Native关键字的作用
    【Java关键字-Interface】为什么Interface中的变量只能是 public static final
    JAVA8 十大新特性详解
    深入理解final关键字
    Linux 在线模拟器
    jdk1.7和jdk1.8区别
    Java高新技术第一篇:类加载器详解
  • 原文地址:https://www.cnblogs.com/OpenCoder/p/9768271.html
Copyright © 2011-2022 走看看