篇(5)-Asp.Net Core入门实战-使用EF,操作数据库,要先配好相应代码
入门实战-使用EF,操作数据库,要先配好相应代码
(1).创建数据库和表(在篇3内已讲过);
(2).使用Nuget引入和安装EF的两个文件包(在篇3内已讲过);
(3).在appsetting.json中添加数据库连接字符串(在篇3内已讲过);
(4).在项目根目录Db文件夹中创建一个AppDbContext.cs类;
public class AppDbContext : DbContext { public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { } //各名称对应数据表名 public DbSet<Menu> Menu { get; set; } }
(注意在MVC对应的Models文件内,新建一个Menu.cs的model类,它的属性与数据库的表字段对应,可以等到下节将增、删、改、查、时,在添加此类文件)可以见下面代码
(5).在Startup.cs文件中配置数据库连接
代码为:
services.AddEntityFrameworkSqlServer().AddDbContextPool<AppDbContext>(options => { options.UseSqlServer(Configuration.GetSection("DbConnectionStr")["SqlServerStr"]); //读取appsetting.json文件中的数据库配置字符串 });
使用的数据库为Sql-Server,如果用Mysql数据库,则可以先通过nuget安装mysql的软件包,然后关键代码修改为:
options.UseMySql(Configuration.GetSection("DbConnectionStr")["SqlServerStr"]);
(6).关于在appsettging.json中配置的数据代码:
options.UseSqlServer(Configuration.GetConnectionString("SqlServerStr "));
用这句代码来直接获取到SqlServerStr节点来读取配置。
(7).Asp.Net core的EF(Entity Framework)中有新功能,配置好EF以后,并在增加了Model类文件后,通过在命令界面,就是程序包管理器控制台,来操作数据迁移,数据库更新等命令,跟前面的写实体类代码,约定匹配关系等,这一系列的过程,有2个名字:Code First和Database First(Db First);
区别是:Db First,先建库建表,在写实体类和匹配关系;
Code First,先写实体类和匹配关系,通过命令成数据库;
要入门,先Db First,它很适合初学者,或者是比较急的小型项目。详细的数据迁移等命令和模式详解,可以自行百度或查看微软官网学习。