浏览器标题切换
浏览器标题切换end

.NET Core配置/添加Entity Framework Core及对应数据库扩展包

NuGet安装EF Core

安装 Microsoft.EntityFrameworkCore 包(不要安装 EntityFramework 包)

NuGet安装EF Core对应数据库扩展包

安装途径:先去EF官方文档上(戳这里),找到自己使用的数据库对应的NuGet程序包再进行安装

  • 如果使用 mysql 则安装 Pomelo.EntityFrameworkCore.Mysql 包(不要安装 Mysql.Data.EntityFrameworkCore

  • 如果使用 PostgreSQL 作为底层存储,则安装 Npgsql.EntityFrameworkCore.PostgreSQL 包(不要安装 Npgsql

配置步骤1 - 配置EF Core

  1. 新建 Database 文件夹,存放和EF Core相关配置信息/代码

  2. 创建数据库映射工具:在 Database 文件夹下创建 AppDbContext.cs 文件(上下文关键对象 理解为代码和数据库之间的连接器)

  3. 让AppDbContext继承EF Core中的DbContext

public class AppDbContext : DbContext
  1. 注入 DbContext 的实例
public AppDbContext(DbContextOptions<AppDbContext> options) : base(options)
{
}
  1. 指明哪些模型需要映射到数据库中:使用 DbSet 进行数据模型映射,每个数据模型都要用一个dbset来映射给数据库表table
public DbSet<TouristRoute> TouristRoutes { get; set; } // TouristRoutes - 数据库名称

配置步骤2 - 配置数据库

  1. AppDbContext 对象注入到系统的 IOC 容器中,在 Startup.cs 中的 ConfigureServices 中。(别忘了在 appsetting.json 文件中配置数据库相关信息)
services.AddDbContext<AppDbContext>(options =>
  options.UseMySql(Configuration.GetConnectionString("mysql_connect"), new MySqlServerVersion(new Version())));
  1. 在 中加入配置函数,并在配置函数中注入服务依赖
        public IConfiguration Configuration { get; } // 创建一个私有变量储存配置信息,没有set是因为一会在下面的构建函数中给它赋值
        
        /// <summary>
        /// 注入配置服务依赖
        /// Startup就可以通过成员变量configuration来访问appsetting.json
        /// </summary>
        /// <param name="configuration"></param>
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

创建对应数据仓库

  1. 新建数据仓库:在 Services 文件夹下创建控制器对应的 xxxRepository.cs 文件

  2. 在 Startup.cs 文件夹中添加注入依赖:services.AddTransient<ITouristRouteRepository, TouristRouteRepository>();

使用EF Core创建数据库及初始化数据

  1. 验证一下数据模型(添加数据库限制、主键信息、外键联系等),判断是否符合数据库创建要求

  2. 安装数据库创建工具 Entity Framework Core Tools,支持三种数据库的创建方式 Database First(先创建数据库,再和数据库连接)、Model First(先创建数据模型 Model ,再根据 Model 自动生成数据库)、Code First(不创建实体模型,通过 dbcontext 创建数据库)

  3. 创建数据库前先 build 构建一下项目

  4. 我们使用 Model First 模式,dontnet 相关命令如下:

dotnet tool install --global dotnet-ef # 安装dotnet cli ef 工具
dotnet ef migrations add [此次操作名称]
dotnet ef database update
posted @ 2022-11-18 00:06  抓水母的派大星  阅读(457)  评论(0编辑  收藏  举报