【发布时间】:2022-07-02 06:47:23
【问题描述】:
我正在尝试使用 Visual Studio 构建一个新的 Razor 视图。我选择了一个模板、我的模型和我的DbContext,然后我收到如下所示的错误消息。
注意事项。我的模型、DbContext 和我的网站都在不同的项目中。从下面的消息来看,我正在使用AddDbContext,并且我有一个接受DbContextOptions<TContext> 参数的构造函数。
我在一篇博客文章中读到了一条评论,该问题是因为我的上下文在另一个项目中。该评论提到需要将Configuration 注入DbContext 以获取连接字符串并手动将其添加到OnConfiguring 覆盖中。
如果这是正确的或如何设置它,我找不到任何示例。任何帮助将不胜感激。
编辑:
从我上面提到的博客评论中测试理论,我将此部分添加到我的 DbContext 中。 ConnectionString 是带有我的连接信息的硬编码字符串常量。这确实有效,让我可以搭建脚手架,所以问题仍然存在。如何将此连接字符串注入我的 DbContext 以允许脚手架工作?
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
optionsBuilder.UseSqlServer(ConnectionString);
}
else
{
base.OnConfiguring(optionsBuilder);
}
}
编辑:因此,在进行此更改后,我签入了代码并让另一个开发人员接手。看来上面的这一部分只需要在那里就可以让脚手架工作。他从未更改连接字符串以指向他的环境。他不再遇到上面的错误了。
【问题讨论】:
-
你使用的脚手架命令是什么?
-
右键单击视图 > 添加 > 新脚手架项目 > 剃刀视图
标签: visual-studio entity-framework asp.net-core asp.net-core-mvc .net-6.0