一.数据库概述
1.一个DBContext操纵一个数据库
2.DbContext下的一个DbSet关联一个表,但是也可以只写一个表,DbContext可以关联其他的表。
3.使用Dbcontext.Database.EnsureCreated();可以根据自动创建数据库,以及相关的表。指定哪个数据库软件是根据appsetting下的DefaultConnectString来决定,也许是SqlSever或者是MySql,但是需要对应的dll支持,见5。生成哪些表是根据DbSet的属性关联成员来进行。
4.迁移命令,在程序包管理控制台输入Add-Migration,将会在Migration下生成一个继承于Migration的迁移类;再次输入update-database Migration类名,便可以根据该类建立更新数据库。
5.使用相关的数据库,需要对应的dll包,Mysql下有MySQL.Data.EntityFrameworkCore(官方)和Pomelo.EntityFrameworkCore.MySql,一般情况下使用这两个中的一个。
6.efcore操作mysql,出现System.InvalidOperationException:“No coercion operator is defined between types 'System.Int16' and 'System.Boolean'.”这个恶心的问题,只需要把EF的依赖换成Pomelo.EntityFrameworkCore.MySql 库即可解决,貌似只能在显式情况下