【发布时间】:2016-10-29 16:30:39
【问题描述】:
我们正在尝试首先使用 ef 代码开发一个 asp 核心应用程序 (MVC)。但是似乎需要数据库上下文位于可执行文件而不是类库中。
所以数据上下文已添加到 Web UI 项目中,但问题是如何在存储库项目中提供 db 上下文的 dbset ..
示例代码如下:
public class CompanyRepository : GenericRepository<Company>, /*IGenericRepository<Company>*/ ICompanyRepository
{
public CompanyRepository(DbContext dbContext) : base(dbContext)
{
}
public async Task<IEnumerable<Company>> GetAllAsync()
{
return await base.GetAllAsync<Company>();
}
}
MVC 项目启动.cs
services.AddDbContext<DBContext>();
services.AddScoped<ICompanyRepository, CompanyRepository>();
MVC 项目中的 DBCONtext.cs
public class DBContext : DbContext
{
private IConfigurationRoot _config;
public DBContext(IConfigurationRoot config, DbContextOptions options):base(options)
{
_config = config;
}
}
目前似乎引发以下错误:
处理请求时发生未处理的异常。 InvalidOperationException:无法解决 “Microsoft.EntityFrameworkCore.DbContext”类型的服务,而 试图激活 'On.Store.Repository.Companies.CompanyRepository'。
【问题讨论】:
-
如果你想要github.com/aguacongas/chatle,我在 GitHub 上提供了一个示例
-
@Abdul,如果解决方案对您有用,请接受您最喜欢的答案。
标签: asp.net entity-framework asp.net-core