EF Core(Entity Framework Core)中实例化创建DatabaseContext方法及代码
时间:2022-10-01
Dbcontext代码
public >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中ConpServices()方法配置
ConpServices()
方法中实现注册DbContext
,具体代码如下:
public void ConpServices(IServiceCollection services) { //some mvc services.AddMvc(); //hey, options! services.AddDbContext<BlexzWebDb>(options => options.UseSqlServer(Configuration.GetConnectionString("BlexzWebConnection")));
//...省略不相关的代码
}
在Controller中获取DbContext对象的代码
public >SomeController : Controller { private readonly BlexzWebDb _db; //the framework handles this public SomeController(BlexzWebDb db) { _db = db; } }
特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。