- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试构建一个自定义 View 位置系统。
public class myViewLocationExpander : IViewLocationExpander
{
private myDBContext _context;
public myViewLocationExpander (myDBContext context)
{
_context = context;
}
public IEnumerable<string> ExpandViewLocations(ViewLocationExpanderContext context, IEnumerable<string> viewLocations)
{
_context.Property.//..... //Error happened here
Some other codes
}
在我的启动文件中
public void ConfigureServices(IServiceCollection services)
{
//other codes
services.AddMvc();
services.Configure<RazorViewEngineOptions>(options =>
{
options.ViewLocationExpanders.Add(new myViewLocationExpander (new myDBContext()));
});
我的错误1:
An unhandled exception occurred while processing the request. InvalidOperationException: No database providers are configured. Configure a database provider by overriding OnConfiguring in your DbContext class or in the AddDbContext method when setting up services. Microsoft.Data.Entity.Internal.DatabaseProviderSelector.SelectServices(ServiceProviderSource providerSource)
错误2:
An exception of type 'System.InvalidOperationException' occurred in EntityFramework.Core.dll but was not handled in user code Additional information: An attempt was made to use the context while it is being configured. A DbContext instance cannot be used inside OnConfiguring since it is still being configured at this point.
如何在类中使用 dbcontext(我需要从数据库获取一些信息),该类应放置在启动文件的 Configure()
方法上。
或者我可以将IViewLocation
..放到另一个地方吗?
最佳答案
在 IViewLocationExpander 的代码中,您可以使用以下代码从上下文获取 IServiceProvider context.ActionContext.HttpContext.ApplicationServices.GetService( typeof( myDbContext ) )
这将返回您的 DbContext。
public class MyViewLocationExpander : IViewLocationExpander
{
public void PopulateValues( ViewLocationExpanderContext context )
{
var dbContext = context.ActionContext.HttpContext.ApplicationServices.GetService<ApplicationDbContext>();
}
public IEnumerable<string> ExpandViewLocations( ViewLocationExpanderContext context, IEnumerable<string> viewLocations )
{
var dbContext = context.ActionContext.HttpContext.ApplicationServices.GetService<ApplicationDbContext>();
return viewLocations;
}
}
我注意到它在第二次调用 PopulateValues 时起作用,而不是第一次我没有时间进一步研究这个
关于asp.net-core - DbContext 实例不能在 OnConfiguring 内部使用,因为此时它仍在配置中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34953728/
我正在尝试解决 Wicket 页面的一个特性 - 我有一个包含 ajax 选项卡式面板的页面,并且希望用户可以更改 URL,以便下次显示该页面时,该选项卡URL 中指定的一个。 示例: 用户将单击系统
无论如何,您是否可以让应用程序在定向后保持缓冲区,而无需手动处理配置更改。 场景基本: 当方向改变时,应保留直到最新点的视频缓冲区。 需要重新加载一个新的布局(因为纵向和横向的布局不同),因此,让应用
出于某种原因,自从我添加了一个 Application User 类后,它说我有两个我没有的上下文,但我按如下所述创建了该类: public class ApplicationDbContextFac
我遇到了不同的代码 fragment ,关于在 SQLiteHelper 中启用外键约束。我在想,如果我也想支持 API = Build.VERSION_CODES.JELLY_BEAN) {
对于我们的 ASP.NET Core 项目,我们使用包管理器控制台中的 Scaffold-DbContext 搭建现有数据库。 每次我们做脚手架时,上下文类与所有实体一起生成,它包含调用 option
我正在尝试构建一个自定义 View 位置系统。 public class myViewLocationExpander : IViewLocationExpander { private my
我正在使用 PostgreSQL 并且我有如下 ApplicationDbContext: public class ApplicationDbContext : DbContext { pr
一旦我解决了one issue与 IBM.EntityFrameworkCore ,另一个出现了。对于 DB2 和他们的 .NET 团队来说,一切都是那么艰难和痛苦...... 问题:我在同一个 VS
在我的 asp.net core 项目中,我有一个从 DbContext 派生的 ReadingContext 类。根据文档,应该为创建的每个 DbContext 实例调用 OnConfiguring
我正在 Entity Framework 7 中进行数据库优先开发。当我使用命令行从命令行生成我的 DbContext 时 dnx ef dbcontext scaffold [connection
我的 ASP.NET 核心有这个类,它首先被调用 public class Startup { public IConfiguration Configuration { get; }
刚刚开始使用 ASP.NET Core,到目前为止令人印象深刻。在生成的代码中,(见下文)。我想更改硬编码的连接字符串以从 appsettings.json 中获取它文件。 这显然是不可能的。我还没有
我有 DbContext 类以便使用迁移和创建新数据库或为现有数据库创建表。 public class ApplicationDbContext : IdentityDbContext {
我是一名优秀的程序员,十分优秀!