Visual

10 使用 EF Core.mp4 (95.77MB)

EF Core 支持的数据库

官方针对不同数据库提供了不同的 Database Providers

  • MSSQL LocalDB
  • PostgreSQL
  • MySQL/MariaDB
  • Oracle
  • DB2
  • SQLite
  • In Memory

DbContext

EF Core 使用 DbContext 操作数据库。
image.png

  • 一个 DbContext 类对应一个数据库
  • 一个 DbSet 集合对应数据库中的一张表

迁移

可以使用 dotnet cli,也可以使用 VS 内置的 Package Manage Console。

  • Add-Migration Xxxx
  • Update-Database

注:Update-Database -Verbose 更新数据库时带 Verbose 参数,可以看到更新时的细节。

HomeController、 IRepository 和 InMemoryRepository 的设计遵循了依赖反转原则:

  • InMemoryRepository 实现了 IRepository 接口
  • HomeController 依赖于 IRepository 接口,不依赖具体实现类
    • HomeController 这个高级别的模块不依赖于 InMemoryRepository 这个低级别的模块
    • 高级别的模块应该依赖于抽象

源码

Tutorial.zip