1、引言
EntityFramework Core这个我在这里就不想做相关介绍了,EFCore是netcore中才出现了,它的前身可以说是EF6,下面就对实体中定义的契约
与数据库的对应做一个尝试,在实际工作中用了一段时间后现做一个整体的总结。
因为有时候只管写了实体,没有去在乎数据库中生成的结构是怎样的,开发开发着途中就会出现问题
2、需要安装的包
我这里仅对Sql Server做示例,至于Mysql、PostgreSQL、Oracle就留给读者带着同样的思路去做尝试。
1、首先需要安装的包
- Microsoft.EntityFrameworkCore
- Microsoft.EntityFrameworkCore.Design
- Microsoft.EntityFrameworkCore.SqlServer
2、配置Context
这些都是很简单的东西,在这就做过多的解释,直接贴出代码。 - 定义StudyDbContext
public class StudyDbContext:DbContext
{
public StudyDbContext() {
}
public StudyDbContext(DbContextOptions<StudyDbContext> options) : base(options){
}
public DbSet<Users> Users {
get; set; }
/// <summary>
/// 模型创建的进行时候配置
/// </summary>
/// <param name="modelBuilder"></param>
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
}
注意:Context中又一个重载构造,实际上是在Service中添加Context的时候进行的配置
- ConfigureServices中添加Context服务
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddDbContext<StudyDbContext>(builder => builder.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")))