实体框架 SQLite 错误 1:“没有这样的表:__EFMigrationsHistory”

2024-05-23

我在 Windows 和 Linux 上运行 EF Core,并且在两者上都遇到相同的问题。

public string DbPath { get; }

string DbPath = $ "{Environment.GetFolderPath(Environment.SpecialFolder.Personal)}{Path.DirectorySeparatorChar}smart_contracts.db";

这会打印 Linux 和 Windows 10 上的路径。当我尝试运行Add-Migration and Update-Database我收到 SQLite 错误

错误 1:“没有这样的表:__EFMigrationsHistory”。错误。

Code:

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    optionsBuilder.UseSqlite($"Data Source={DbPath}");
}

如果我把它改成Data Source=smart_contracts.db,它在两个平台上都能完美运行。

谁能帮我获取数据源字符串的路径?


在我看来,问题在于您想要在已经结构化且不是由实体框架生成的数据库上执行迁移。这可以解释缺少迁移表的原因。要使用这个数据库你应该反向工程 https://learn.microsoft.com/en-us/ef/core/managing-schemas/scaffolding/?tabs=dotnet-core-cli数据库结构。如果您不想更改数据库端或应用程序端的结构(因为,假设您自己实现了实体),您所需要做的就是在配置 DbContext 时指定数据库文件的本地化(正如您的帖子中所示)就是这样。

下面是一个 SQLite 数据库支架的示例:

Scaffold-DbContext "DataSource=file.sqlite3 "Microsoft.EntityFrameworkCore.Sqlite -OutputDir Models

Edit:问题显然源于如何组合数据库文件的路径。更好的做法是使用Path.Combine()方法而不是字符串连接。

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

实体框架 SQLite 错误 1:“没有这样的表:__EFMigrationsHistory” 的相关文章

随机推荐

  • 如何使用 setState 插入 React 的状态数组?

    我正在寻找在反应中修改和数组并在特定索引上插入元素 这就是我的状态 this state arr 我想做的是编译这个arr index random element 反应 js setState 语法 我试图做的是 this setStat
  • NodeJs/WS:如何抛出服务器端在客户端处理的错误?

    当我的 websocket 有超过 2 个连接时 我试图在服务器端抛出错误 我有这个不错的客户端onerror方法 但我无法到达我的代码的那部分 我正在使用 nodeJS 和包ws其中有关于错误处理的最小文档 服务器 js theWebSo
  • Mcrt1.o和Scrt1.o有什么用?

    我坚持使用以下两个文件 即 Mcrt1 o 和 Scrt1 o 谁能帮我知道这两个文件的用途 如何使用它 我们以 gcrt1 o 为例 在使用 pg 选项编译进行性能测试时非常有用 谢谢 表格的文件 crt o总是 C 运行时启动代码 大部
  • 如何提高洪水填充例程的性能?

    我正在我的应用程序中实现四路洪水填充 伪代码如下 Flood fill node target color replacement color 1 If the color of node is not equal to target co
  • 在活动中嵌入一个大小的ListView - android

    我正在看这个教程 http developer android com resources tutorials views hello listview html http developer android com resources t
  • 如何在运行时更改按钮的颜色? [复制]

    这个问题在这里已经有答案了 button1 Button root text A1 width 8 grid row 0 column 0 button2 Button root text A2 width 8 grid row 0 col
  • 在生产代码/服务器上运行测试

    我在单元测试 自动化测试方面相对缺乏经验 所以如果这个问题没有任何意义 请原谅 我当前正在处理的代码库耦合如此紧密 以至于我需要重构大部分代码才能对其运行单元测试 所以我阅读了一些帖子并发现了 Selenium 我认为它确实是一个很酷的程序
  • 如何引用 pinescript 中临时变量中存储的先前入场价格?

    我有一些基本的 MA 交叉策略指标 我想实施更好的策略 仅当价格高于之前购买时才出售 但我不确定如何在 PINE 语法中执行此操作 有什么想法吗 这是简单的代码 工作正常 它打开 LONG 或关闭 LONG 取决于交叉 MA Strateg
  • 按值对对象 javascript 数组进行排序[重复]

    这个问题在这里已经有答案了 我有以下数组 data date entered 2021 02 18 order 1 data date entered 2021 02 22 order 2 data date entered 2021 02
  • 将对话框项分组到单个“组”(Visual Studio)

    我想创建一个对话框窗口来更改应用程序的设置 下面是 Adob e Reader 的屏幕截图 使用 Spy 后 我猜想 在右侧 所有控件 按钮 组合框 等 都属于 GroupBox 对于左侧TreeView控件中的每个类别 都有一个相应的Gr
  • GitHub 操作 setup-r-dependency 失败,说明没有名为“digest”的包

    我一直在尝试设置一些 GitHub 操作来自动检查我的 R 包并运行测试覆盖率 我目前正在使用 setup r dependency v2 操作来安装依赖项 但无法安装包 digest 返回以下错误 Error Error
  • google-oauthlib-tool 不询问授权码,并且在 rpi-4B 上没有“--headless”选项

    我正在尝试嵌入谷歌助手SDK https developers google com assistant sdk在我的树莓派上通过以下方式本指南由 Google 提供 https developers google com assistan
  • 时间:2019-03-17 标签:c#datatypes->oracledatatypes

    我喜欢在 Oracle 数据库中保存不同的 C 数据类型 int decimal double string Guid 有谁有一个表显示要使用哪些 Oracle 数据类型 我找到了一些表格 显示了哪些 c 数据类型可用于不同的 oracle
  • 如何实现DataGridView的自动排序?

    我以编程方式将列添加到 DataGridView 然后绑定到列表 默认情况下 列的排序模式为自动 但是当我运行我的应用程序时 单击标题没有任何反应 向上 向下箭头未显示 从看MSDN来看 关于自动排序并没有太多说的 他们更详细地介绍了程序化
  • 使用不同的背景颜色保存 MATLAB 图窗

    我想打印一个带有深色背景和白色标签的 MATLAB 图 如果我使用print or saveas命令我不知何故失去了颜色 绘图符号再次变暗 背景变为白色 points rand 100 3 plot3 points 1 points 2 p
  • ATL 转换规则不匹配嵌套的 BPMN2 元素

    我正在编写从 BPMN2 到另一个模型的 ATL 翻译 问题是代码没有检测到任何嵌套元素 我已在此处发布了 atl 代码和我的输入 https github com behnaaz BPMN2ATL git https github com
  • Amazon S3 - 一个对象的多个键

    我有一个 S3 存储桶 其中包含超过 1 亿个对象 每个对象像往常一样都有一个唯一的密钥 我想知道是否有办法为其中一些对象分配另一个键 像这样的东西 键1 gt 对象1 键2 gt 对象2 Key3 gt Object2 我想添加这个 我在
  • 跳过 -with- 块的执行

    我正在定义一个上下文管理器类 如果在实例化期间满足某些条件 我希望能够跳过代码块而不引发异常 例如 class My Context object def init self mode 0 if mode 0 proceed as norm
  • 如何 ping FastCGI 服务器?

    除了建立 TCP 连接之外 如何检查 FastCGI 服务器是否处于活动状态并正常运行 我有许多远程 独立的 FastCGI 服务器 我想监视 FastCGI 服务器本身以确保其活动 仅仅向 Web 服务器发出请求是不够的 因为它会自动绕过
  • 实体框架 SQLite 错误 1:“没有这样的表:__EFMigrationsHistory”

    我在 Windows 和 Linux 上运行 EF Core 并且在两者上都遇到相同的问题 public string DbPath get string DbPath Environment GetFolderPath Environme