EF Core(Entity Framework Core)中实例化创建DatabaseContext方法及代码

简介
本文主要介绍ASP .NET Core中使用EF Core(Entity Framework Core),其中DbContext配置及创建使用的方法。

Dbcontext代码

public class BlexzWebDb : DbContext
{
    public BlexzWebDb(DbContextOptions<BlexzWebDb> options)
       : base(options)
    { }

    public DbSet<User> Users { get; set; }
    public DbSet<Role> Roles { get; set; }
    public DbSet<AssignedRole> AssignedRoles { get; set; }

}

在EF Core中,通常将一些DbContextOptions传递给构造函数。一般来说,构造函数是这样的:

public BlexzWebDb(DbContextOptions<BlexzWebDb> options) : base(options)

如你所见,没有有效的重载形式的无参数构造函数:

下面这样是不行的:

using (var db = new BlexzWebDb())

在Startup.cs中ConfigureServices()方法配置
ConfigureServices()方法中实现注册DbContext,具体代码如下:

public void ConfigureServices(IServiceCollection services)
{
    //some mvc 
    services.AddMvc();

    //hey, options!
    services.AddDbContext<BlexzWebDb>(options => 
           options.UseSqlServer(Configuration.GetConnectionString("BlexzWebConnection")));
//...省略不相关的代码 
}

在Controller中获取DbContext对象的代码

public class SomeController : Controller
{
    private readonly BlexzWebDb _db;
    //the framework handles this
    public SomeController(BlexzWebDb db)
    {
        _db = db;
    }
}

了解更多分析及数据抓取可查看:
http://data.yisurvey.com:8989/
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值