EF Core DBFirst

本次环境:

  • VS2017
  • SQL SERVER 2012
  • WIN10 64位

下文中的源码
https://gitee.com/michel4liu/EF_DBFirstDemo


正文

  1. 新建.NET Core项目,如果这里没有Net Core选项的说明VS2017安装时没有选择NET Core安装项.

EF Core DBFirst_第1张图片

  1. 安装项目所需Nuget依赖项

    包名 当时版本 备注
    Microsoft.EntityFrameworkCore 2.0.0 EFCore核心
    Microsoft.EntityFrameworkCore.Tools 2.0.0
    Microsoft.EntityFrameworkCore.Design 2.0.0
    Microsoft.EntityFrameworkCore.SqlServer 2.0.0 操作SQL SERVER
    Microsoft.EntityFrameworkCore.SqlServer.Design 1.1.2

    两种安装方式
    a、简单鼠标式
    打开 【管理解决方案的 NuGet 程序包】(位置:工具->NuGet 包管理器->管理解决方案的 NuGet 程序包),搜索包名,选择安装的项目,点击安装按钮.
    EF Core DBFirst_第2张图片

    b、炫酷命令行
    调出【程序包管理控制台】(位置:工具->NuGet 包管理器->程序包管理控制台),选择【默认项目】,键入以下命令安装依赖.

    Install-package Microsoft.EntityFrameworkCore
    Install-package Microsoft.EntityFrameworkCore.Tools
    Install-package Microsoft.EntityFrameworkCore.Design
    Install-package Microsoft.EntityFrameworkCore.SqlServer
    Install-package Microsoft.EntityFrameworkCore.SqlServer.Design
     
    EF Core DBFirst_第3张图片

    任何一种方式全部安装成功后在依赖项的NuGet中将看到安装后的包
    EF Core DBFirst_第4张图片

  2. 通过数据库将生成Model
    a、调出【程序包管理控制台】,选择项目,输入以下命令 将数据库中所有表生成Model
    Scaffold-DbContext “Server=192.168.56.101; Database=EFCoreDemo;Persist Security Info=True;User ID=sa;password=12345;” Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

    命令解析:
    Scaffold-DbContext “数据库连接字符串” Microsoft.EntityFrameworkCore.SqlServer -OutputDir 输出的文件夹,如无此参将生成到项目根目录
    如果只想生成某些表将使用Tables参数 如: -Tables(“table1”,”table2”,”table3”,”table4”)
    其他参数可输入 Scaffold-DbContext -? 查看帮助.

    b、生成成功后可看到Models,而且已经自动生成数据上下文”EFCoreDemoContext”
    EF Core DBFirst_第5张图片

  3. 测试
    a、插入数据测试:分别插入People和Credit
    EF Core DBFirst_第6张图片

b、插入数据测试:利用People和Credit有外键关系一起插入数据库,生成Model时因为外键关系 所以People对象内会有ICollection Credit 属性
EF Core DBFirst_第7张图片

c、查询,如需linq扩展方法使用需要引用using System.Linq; 如:ToList() 用到Linq扩展方法。
EF Core DBFirst_第8张图片


完结

如有错误请评论回复。

你可能感兴趣的:(EFCore)