同一数据库中的实体框架核心多个 DbContext 迁移

2024-04-09

在 Entity Framework 6 中,您可以为 DbContext 指定 ContextKey,以便在将一个数据库用于多个 DbContext 时,迁移表知道哪个迁移针对哪个 DbContext。

在过去的几个小时里,我一直在尝试弄清楚如何在 Entity Framework Core 中实现相同的目标,但还没有解决,并且缺乏文档。

EF Core 中的新迁移表只有两列 - MigrationId、ProductVersion。

我认为 HasDefaultSchema 是答案,但似乎并非如此。

Ideas?


以前,实体框架在数据库中存储模型的快照。这导致实体框架每次都必须查询数据库才能找出已经运行的迁移。

在 EF7 中,迁移历史记录存储在代码快照中(以及存储在熟悉的 Migrations 文件夹中的现有迁移)。

每次更新模型并创建迁移时,快照文件都会更新。因此,不需要早期版本的 Entity Framework 中使用的 ContextKey。

Lovely.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

同一数据库中的实体框架核心多个 DbContext 迁移 的相关文章

  • 如何使用 linq 查询连接两个不同 edmx 中的两个表

    如何使用 linq 查询连接两个不同 edmx 中的两个表 有没有办法同时从 2 个不同的 edmx 进行查询 Thanks Update 根据您的评论 EF 无法解析跨 2 个不同上下文的组合表达式树 如果表中的记录总数相对较小 或者您可
  • 使用 EF6 连接到 SQL Server

    在 EF5 之前 为了连接到 SQL Server 2012 我所需要做的就是指定一个如下所示的连接字符串 Data Source SqlExpress Initial Catalog MyDatabase Integrated secur
  • 实体框架 4 DB 优先依赖注入?

    我更喜欢创建自己的数据库 设置索引 唯一约束等 使用 edmx 实体框架设计器 从数据库生成域模型是轻而易举的事 现在我有兴趣使用依赖注入来设置一些存储库 我查看了 StackOverflow 上的一些文章和帖子 似乎重点关注代码优先方法
  • 处理与不同相关实体的一对多的正确模式

    我有一个 C 项目 我使用实体框架作为 ORM 我有一个User 可以向多家银行付款 每家银行都是一个独立的实体 并且每家银行都由不同的字段描述 问题是 一User可以没有或有很多不同的Banks 我不太确定如何对此进行建模 临时解决方案是
  • 使用 .NET Core 2 的 Azure WebJobs 因“存储帐户无效”而失败

    遵循马特 罗伯茨出色的分步文章 NET Core 2 中的 Azure WebJobs 具有 DI 和配置 https matt roberts me azure webjobs in net core 2 with di and conf
  • 使用实体框架从 2 个表返回数据

    我正在使用 MVC3 和实体框架 但我需要来自不同表的更多数据 通常我会做这样的事情来从表中获取数据 Table Users id username 在代码中我会做这样的事情来获取所有用户 public static IEnumerable
  • 拥有财产的种子实体

    我正在尝试在我的数据库中播种用户实体 这User实体拥有自有财产EmailPermissions 当我运行命令时 dotnet ef 迁移添加初始 我收到错误 无法添加实体类型 User 的种子实体 因为它设置了导航 EmailPermis
  • 将对象列表添加到 ef 中的上下文

    是否可以在不使用 foreach addObject 的情况下将对象列表添加到实体框架中的 Context 感谢帮助 从 EntityFramework 6 开始 您可以使用DbSet AddRange 方法 IEnumerable htt
  • 处理 LINQ sum 表达式中的 null

    我正在使用 LINQ 查询来查找列的总和 并且在少数情况下该值有可能为空 我现在使用的查询是 int score dbContext domainmaps Where p gt p SchoolId schoolid Sum v gt v
  • 多个同名内存数据库

    关系到这个答案 https stackoverflow com a 48446491 596758 我试图通过设置让多个上下文工作UseInMemoryDatabase以同名 下面的测试失败 第二个上下文为空 我还需要做什么才能在内存数据库
  • 信号器重试逻辑 .Net Core

    我们在 Signalr Net Core 中遇到了重新连接问题 重新连接到 signalr hub 的最佳实践是什么 以下似乎是有关重新连接的最受尊敬的文章 但似乎已经过时了 不是吗 将 SignalR 2 0 NET 客户端重新连接到服务
  • 实体框架、LinqToSQL 和 sql 注入

    完全使用 Linq To SQL 或实体框架的项目是否有可能遭受 SQL 注入 我认为这可能不是因为 ORM 生成的 SQL 应该是免 SQL 注入的 但我不确定 当您按预期使用这些框架时 即直接使用实体 表 那么就不会 所有字符串比较 即
  • 混合模型优先和代码优先

    我们使用模型优先方法创建了一个 Web 应用程序 一名新开发人员进入该项目 并使用代码优先方法 使用数据库文件 创建了一个新的自定义模型 这 这是代码第一个数据库上下文 namespace WVITDB DAL public class D
  • 如何使用实体框架选择单个列?

    有没有办法使用 Entity Framework 4 获取单个列的全部内容 与此 SQL 查询相同 SELECT Name FROM MyTable WHERE UserId 1 您可以使用 LINQ Select http msdn mi
  • 乐观并发:IsConcurrencyToken 和 RowVersion

    我正在创建将在我的应用程序中使用的默认并发策略 我决定采取乐观的策略 我的所有实体都映射为Table per Type TPT 使用继承 我很快了解到 在实体框架上使用带有继承的 RowVersion 类型的列时存在问题 Product I
  • 具有不同 ID 字段名称的 EF Fluent API 多对多

    在这个问题中 Ef 多对多 https stackoverflow com questions 8927278 how to configure many to many relationship using entity framewor
  • Entity Framework Code First 是否允许在单独的文件中进行流畅的映射?

    我正在使用实体框架代码优先开发一个相当大的数据库模式 与数据注释方法相比 我更喜欢 Fluent API 因为它将我的域对象保留为简单的 POCO 为了使用 Fluent API 我必须在继承自 DbContext 的类中重写 OnMode
  • 静态构造函数中的 Database.SetInitializer() ?

    许多人可能知道为什么我们需要使用下面所示的代码 但是 我想将此逻辑分成几层 并且不想在 Web 层中引用实体框架 DLL 因此我最终将此代码放入我的静态构造函数中DbContext class 这是一个坏主意吗 这样做会对应用程序的性能造成
  • .NET 5 EF Core SaveChangesAsync 因错误而挂起

    尽管这个问题有很多结果 但没有一个真正给我明确的答案 每次我尝试通过 AddAsync 和 SaveChangesAsync 方法插入错误数据 例如重复的主键 时 我都会看到以下日志 执行 DbCommand 失败 15 毫秒 我还在 SQ
  • 实体框架代码首次日期字段创建

    我正在使用实体框架代码优先方法来创建我的数据库表 下面的代码 创建一个DATETIME数据库中的列 但我想创建一个DATE柱子 DataType DataType Date DisplayFormatAttribute ApplyForma

随机推荐