EF Core 3.1 在特定数据库上下文上添加迁移

     2023-04-12     232

关键词:

【中文标题】EF Core 3.1 在特定数据库上下文上添加迁移【英文标题】:EF Core 3.1 Add Migration on specific DB Context 【发布时间】:2020-10-05 00:26:09 【问题描述】:

我的 WebAPI 项目中有 2 个 EF Core DBContext。

一个是 OracleContext - Oracle.EntityFrameworkCore(2.19.70)。

OracleContext 是一个现有的数据库,我已经在其中创建了用于查询只读数据的存储库。

其次是 SQLServerContext - EFCore(3.1.5)

SQLServerContext 是一种代码优先的方法,用于编写应用程序的其余功能。

每当我尝试运行 Add-Migration InitialCreate -Context SQLServerContext -OutputDir Migrations\SqlServerMigrations 时都会出现错误:

类型中的方法“get_Info” 'Oracle.EntityFrameworkCore.Infrastructure.Internal.OracleOptionsExtension' 从程序集'Oracle.EntityFrameworkCore,版本= 2.0.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342' 没有 实施。

我相信 Add-Migration 也在尝试执行 OracleContext 但我希望 SQLServerContext 只生成迁移文件,我该如何实现?

[编辑] - 每个 DBContexts 都存在于自己的 dotnet 核心库类中。 - WebAPI 项目是启动项目。

【问题讨论】:

From here,这可能是由于 EfCore 3.0 中的重大更改以及后来无法与较旧的提供程序一起使用。您要么需要将 EfCore 降级到 2.x,要么尝试Oracle 3.19.0-beta1 在将 SQLServerContext 项目降级到 2.2.6 后,我想我几乎可以解决它了。现在我面临:Microsoft.EntityFrameworkCore.Design.OperationException:无法创建“SQLServerContext”类型的对象。有关设计时支持的不同模式,请参阅go.microsoft.com/fwlink/?linkid=851728 【参考方案1】:

您必须使用带有命名空间的完全限定名称,它也需要类名,但我认为在您的情况下,EF Core 正在选择其他上下文。

【讨论】:

我试过就像你说的那样使用 -Context ProjectName.Folder.SQLServerContext 但它没有用。我也尝试在上下文参数中输入拼写错误,但结果是一样的。【参考方案2】:

需要指定上下文。在终端中,切换到包含迁移文件夹的项目。使用下面的命令

dotnet ef migrations add --context YourApp.YourAppDbContext '<MigrationName>'

【讨论】:

【参考方案3】:

要在 Visual Studio 的 Asp.Net Core 3.1 中添加迁移,请使用以下代码:

Add-Migration yourMigrationName -Context youSpecificContextName

【讨论】:

EF Core 迁移从其他上下文添加表

】EFCore迁移从其他上下文添加表【英文标题】:EFCoreMigrationAddingTablesfromOtherContexts【发布时间】:2021-09-2809:30:14【问题描述】:我正在尝试在两个表(CustomerProfile和ProviderProfile)和一个主ASP.NETCoreIdentityUser表(AppUser)之间创建1..1... 查看详情

EF Core 3.1 (LINQ) - 如何在多列上左加入和分组

】EFCore3.1(LINQ)-如何在多列上左加入和分组【英文标题】:EFCore3.1(LINQ)-howtoleftjoinandgroupbyonmultiplecolumns【发布时间】:2021-06-1222:25:39【问题描述】:假设我有3个关系:classA(aID#,aName,aNumber),classB(bID#,bName,bNumber,aId),classC(cID#,cName,cNumber... 查看详情

EF Core 上下文不包含添加实体的更改

】EFCore上下文不包含添加实体的更改【英文标题】:EFCoreContextdoesnotcontainchangesforaddedentities【发布时间】:2021-11-1917:23:19【问题描述】:我有.NETCore3.1WebAPI和EFCore3.1。我有Scoped生命周期的DbContext。我有两个服务,我在构造函数中... 查看详情

在 EF Core 映射上添加唯一索引似乎不起作用

...述】:我们在我们的ASP.NET核心API解决方案中使用EFCore。数据库中有一个事务表,并且有一个包含两列的唯一索引。因此,此表中不应有这些列具有相同值的记录。在我们的EF映射中,我们有这个builder.HasInd 查看详情

针对特定 EF Core 查询优化 UNKNOWN

...Webjob处理来自Azure服务总线的消息并将它们保存到AzureSQL数据库中。我遇到的问题是AzureSQL数据库为EFCore生成的查询生成了非常糟 查看详情

带有 EF Core 的 .NET 项目在一个特定页面上引发 ObjectDisposedException

】带有EFCore的.NET项目在一个特定页面上引发ObjectDisposedException【英文标题】:.NETprojectwithEFCorethrowsObjectDisposedExceptionononeparticularpage【发布时间】:2022-01-0712:10:13【问题描述】:当我尝试访问页面时,带有EntityFramework的ASP.NETCore项... 查看详情

从 .NET Core 2.2 迁移到 3.1 后,EF Core 随机抓取 API 请求上的用户表

】从.NETCore2.2迁移到3.1后,EFCore随机抓取API请求上的用户表【英文标题】:EFCorerandomlycrawlsusertablesonAPIrequestsaftermigratingfrom.NETCore2.2to3.1【发布时间】:2021-12-3003:42:02【问题描述】:从.NETCore2.2迁移到3.1后,EFCore会随机开始爬取用户... 查看详情

EF Core / Sqlite 一对多关系在唯一索引约束上失败

...IndexConstraint【发布时间】:2017-09-1523:01:03【问题描述】:上下文是每个Car都有一个对应的CarBrand。现在我的类如下图:publicclassCarpublicintCarIdget;set;publicintCarBran 查看详情

在 Xunit 集成测试中检索 ASP.NET Core 3.1 数据库上下文

】在Xunit集成测试中检索ASP.NETCore3.1数据库上下文【英文标题】:RetrievingASP.NETCore3.1databasecontextinXunitintegrationtest【发布时间】:2020-09-1419:09:14【问题描述】:我一直在使用Xunit为使用数据库的.NETCore3.1Web应用程序创建集成测试。为... 查看详情

1搭建ddd架构+ef

...间    7、Entity项目下新建实体类,为了映射到数据库  新建实体类,并在上下文类中写上该表的属性    8、工具->NuGet包管理器 查看详情

跨项目的 EF Core 数据上下文注入

】跨项目的EFCore数据上下文注入【英文标题】:EFCoreDataContextinjectionacrossProjects【发布时间】:2021-12-2808:33:57【问题描述】:我有项目A,它是一个类库,项目B使用A。项目A是一个通用帮助库,可以跨项目(例如B)使用。EFCore数据... 查看详情

EF Core 在对现有查询添加查询时附加所有实体 [重复]

...复杂的场景,但我会在这里简单地展示它们。所以,我的上下文类非常简单:publicclassAppDbContext:DbContextprotectedoverr 查看详情

如何在 EF Core 3.1 中使用脚手架流程更新我的实体 - 执行超时已过期

...2021-03-1503:01:35【问题描述】:我能够运行我的API并进行从数据库获取数据的调用。然后当我尝试更新我的实体时-进行数据库更改后我收到错误:ExecutionTime 查看详情

如何使用 Docker 在 SQL Server 数据库上运行 EF Core 迁移?

】如何使用Docker在SQLServer数据库上运行EFCore迁移?【英文标题】:HowtorunEFCoremigrationsonSQLServerdatabaseusingDocker?【发布时间】:2019-04-1112:23:58【问题描述】:在Mac上,我有一个带有一些实体框架迁移的NetCore2.1类库。我需要使用Docker... 查看详情

EF Core 3.1 无法查询 Json 序列化对象

】EFCore3.1无法查询Json序列化对象【英文标题】:EFCore3.1FailtoqueryonJsonSerializedObject【发布时间】:2021-01-2001:07:39【问题描述】:我使用json序列化将列表存储在字段中的id上型号:publicclassVideopublicintIdget;set;publicstringNameget;set;publicvir... 查看详情

我可以避免在 EF Core 中使用迁移吗?

...【问题描述】:我正在创建一个ASP.NETWebAPI项目,它从MSSQL数据库中获取数据。使用Scaffold命令后,我拥有所有模型和适当的数据库上下文,并使用fluentApi我定义了表之间的一些关系(键设置,一对多关系)。SQLserver里没有这个东... 查看详情

ASP.NET MVC Core/6:EF 6 脚手架错误

...:35:15【问题描述】:我正在使用EF6和MVCCore/6。我的模型和数据库上下文在单独的项目中,我使用DI将数据库上下文注入控制器。但是当我尝试使用EF6作为数据上下文类来搭建控制器时,我收到以下错误:错误运行所选代码生成器... 查看详情

如何在 EF Core 中实例化 DbContext

...2018-11-2003:29:55【问题描述】:我也设置了.net核心项目和数据库上下文。但是由于这个错误,我还不能开始使用dbContext-"没有给出与所需形式相对应的参数参数\'选项\'"控制器:publicIActionResultIndex()using(vardb=newBlexzW 查看详情