EF Core 框架的搭建及连接SQL server数据库

(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;
    }

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值