首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >visual 2022 .NET 6脚手架在DbContext处于单独项目时不起作用

visual 2022 .NET 6脚手架在DbContext处于单独项目时不起作用
EN

Stack Overflow用户
提问于 2022-02-20 16:46:18
回答 2查看 3.8K关注 0票数 2

我正在建立我的第一个.NET 6 MVC站点,并陷入了第一个障碍。

我在解决方案中有3个项目。域:包含实体基础设施:有应用程序DB上下文WebUi:包含web接口

添加迁移和更新数据库可以很好地工作,但是当我尝试搭建控制器时,它会出现以下错误:

运行所选代码生成器时出现错误:在试图激活'Microsoft.EntityFrameworkCore.DbContextOptions’时无法解析

类型的服务

然后在其他类库项目中命名DbContext。

几个月前,我发现其他人也有过类似的问题,但是没有人有其他的解决办法,然后把所有的东西都纳入到同一个项目中。

有人遇到这种情况并找到了解决办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-04 07:12:14

最后,找到了一些对我有用的东西:您可以使用ApplicationDbContext类在同一个文件夹中创建dbcontext工厂类。此工厂类在设计时创建ApplicationDbContext,脚手架正确运行。

代码语言:javascript
复制
public class ApplicationDbContextFactory : IDesignTimeDbContextFactory<ApplicationDbContext>
{
        public ApplicationDbContext CreateDbContext(string[] args)
        {
            var optionsBuilder = new DbContextOptionsBuilder<ApplicationDbContext>();
            optionsBuilder.UseSqlServer("Server=(localdb)\\MSSQLLocalDB;Database=EcommerceDb;Trusted_Connection=True;MultipleActiveResultSets=true");

            return new ApplicationDbContext(optionsBuilder.Options);
        }
}

信用额度为:https://github.com/dotnet/Scaffolding/issues/1765#issuecomment-1058674843

票数 9
EN

Stack Overflow用户

发布于 2022-02-23 22:43:37

首先,确保在与上下文相同的项目中有正确的包。你需要以下几点。

microsoft.aspnetcore.diagnostics.entityframeworkcore

microsoft.entityframeworkcore.sqlserver

还要确保在上下文中使用硬编码的选项生成器连接,而不是像下面这样的name参数。只需记住在发布更改之前将其更改回。

代码语言:javascript
复制
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        if (!optionsBuilder.IsConfigured)
        {
            //optionsBuilder.UseSqlServer
            //("Name=ConnectionStrings:[AppSettingsConnectionName]");
            // Use this OB to scaffold
            optionsBuilder.UseSqlServer
            (@"Data Source=[Server];Initial Catalog=[DBName];");
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71196547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档