(1)经典步骤:建实体类,建DbContext(配置类);生成数据库;编写调用EF Core的业务代码。(2)安装Microsoft.EntityFrameworkCore,安装Microsoft.EntityFrameworkCore.SqlServer,安装迁移包Microsoft.EntityFrameworkCore.Tools。
(3)配置连接字符串,连接数据库
//依赖注入的方式
builder.Services.AddDbContext<AppdbContext>(options => {
//定义一个字符串对象,从配置文件中获取数据库连接字符串
string mysql = builder.Configuration.GetConnectionString("DbcontestString");
//使用连接字符串
options.UseSqlServer(mysql);
});
//需要在appsetting.json文件中配置连接字符串
"ConnectionStrings": {
"DbcontestString": "Data Source=.;Initial Catalog=DbStudent;Persist Security Info=True;TrustServerCertificate=True;User ID=;Password = ;"
},
(4)写配置管理类创建一个 MyContext
//继承自DbContext
public class MyContext:DbContext
{
public DbSet<Book>Books { get; set; }
public DbSet<Person> Persons { get; set; }
//把数据给到父类
public AppdbContenx(DbContextOptions<AppdbContenx> options):base(options)
{
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
base.OnConfiguring(optionsBuilder);
//如果不用依赖注入的方式也可以在这里配置连接字符串
//string context = "Data Source=.;Initial Catalog=EF_core;Persist Security Info=True;TrustServerCertificate=True;User ID=Sa;Password = 1";
// optionsBuilder.UseSqlServer(context);
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
//实体配置类在哪里,找到BOOkconfig这个类,加载所有的IEntityTypeConfiguration<>
modelBuilder.ApplyConfigurationsFromAssembly(this.GetType().Assembly);//加载当前程序集
}
}
(5)迁移你创建好的实体可以在工具中找到程序包管理控制平台输入迁移命令
#先输入这个命令:数据迁移命令Add-Migration Name (name是数据迁移的名字)
#如果生成文件,在输入这条文件:数据更新命令Update-Database(这个命令执行完之后数据库表就自动生成了)
(6)迁移后你写的实体便在数据库内自动生成了。
(7)使用时直接构造函数注入
//使用数据库上下文时,对需要使用的地方进行构造函数注入即可
private readonly AppdbContenx _context;
public DeleteModel(AppdbContenx context)
{
_context = context;
}