Code-First Add-Migration 不断添加同一列

2024-01-20

除其他外,我的模型还包含两个属性,这些属性在初始创建和迁移后添加到模型类中。

public sealed class SomeModel
{
    ... other properties, which are fine.        
    public int PropertyOne { get; set; }
    public int PropertyTwo { get; set; }
}

我最近的迁移包含:

public override void Up()
{
    ... other table being created.
    AddColumn("dbo.SomeModel", "PropertyOne", c => c.Int(nullable: false));
    AddColumn("dbo.SomeModel", "PropertyTwo", c => c.Int(nullable: false));
}

目标数据库包含PropertyOne and PropertyTwo列,以及__MigrationHistory表包含创建该表的迁移和添加列的迁移的条目。

当我跑步时Add-Migration为了获得一些其他更改,它还再次包含这两个属性:

public override void Up()
{
    ... other changes.
    AddColumn("dbo.SomeModel", "PropertyOne", c => c.Int(nullable: false));
    AddColumn("dbo.SomeModel", "PropertyTwo", c => c.Int(nullable: false));
}

可能是什么原因造成的?我还注意到,如果我恢复所有模型更改并尝试Update-Database(这应该什么也不做),我收到错误:

无法更新数据库以匹配当前模型,因为有 挂起的更改和自动迁移被禁用。要么写 基于代码的迁移的待定模型更改或启用自动 移民。将 DbMigrationsConfiguration.AutomaticMigrationsEnabled 设置为 true 启用自动迁移。

可能是什么原因造成的?


事实证明,您的模型中有一个隐藏的快照.designer.cs与您的迁移相关的类。 (这是IMigrationMetadata.Target,并且不可读。)导致问题的一系列步骤是:

  1. 对模型进行更改。
  2. Run Add-Migration为更改创建迁移。 (这会创建隐藏的IMigrationMetadata.Target value.)
  3. 注意到迁移建模方式有错误,直接更改模型类和迁移类。 (这IMigrationMetadata.Target值现在不同步。)
  4. Run Update-Database应用更改。

为了摆脱混乱,请使用以下命令创建虚拟迁移Add-Migration Dummy,然后删除其中的所有内容Up() and Down()方法。

注意Add-Migration确实警告您这一点;当你跑步时Add-Migration,它显示:

此迁移文件的设计器代码包括您的快照 当前的代码优先模型。该快照用于计算 当您搭建下一次迁移时对模型进行更改。如果你 对您想要包含在其中的模型进行其他更改 迁移,然后您可以通过运行“Add-Migration”来重新搭建它 又是假人。

在我弄清楚问题所在并看到隐藏的内容之前,该警告没有任何意义IMigrationMetadata.Target value.

底线:不要手动保留模型和迁移Up()方法同步;你必须重新运行Add-Migration正确设置隐藏值。

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

Code-First Add-Migration 不断添加同一列 的相关文章

  • 有没有一种简单的方法来使用InternalsVisibleToAttribute?

    我有一个 C 项目和一个测试项目 其中包含主项目的单元测试 我想要可测试的internal方法 我想在没有 Visual Studio 测试项目中可以拥有的神奇 Accessor 对象的情况下测试它们 我想用InternalsVisible
  • WinApi:获取 COM 表单的控件名称

    我想用 Net 框架替换我当前的 UI 自动化工具 QTP 我需要测试 VB6 COM 应用程序 框架的基础之一是使用表单名称 到目前为止 我未能找到使用 Win API 获取这些数据的方法 该解决方案只有一个约束 即该解决方案必须依赖 N
  • 从 C# 检测 powerpoint 形状上的事件

    是否有可能检测在 Powerpoint 形状 例如箭头 上发生的事件 到目前为止 我发现唯一的可能性是 selectitemchanged beforerightclick 和 beforedoubleclick 但无法找到检测其他内容的方
  • 如何在不发送电子邮件的情况下检查 smtp 服务器? [复制]

    这个问题在这里已经有答案了 我有一个 Web 应用程序 用户可以设置 SMTP 服务器信息 服务器 主机 SMTP 端口 用户名 密码 电子邮件地址 使用的 SSL 当用户设置信息时我需要验证服务器而不发送电子邮件并检查smtp信息是否有效
  • .NET 实体框架核心

    我已经阅读了过去两年中发布的几乎所有有关 EF 的其他问题 我下载其他软件包没有任何问题 只是实体框架不会为我安装 我什至尝试安装最新版本的 Nuget 并在我的项目目录中使用它的工具来恢复包 之后 我将这一行添加到我的 csproj 中
  • C# .Net Serial DataReceived 事件响应对于高速数据来说太慢

    我已经设置了一个 SerialDataReceivedEventHandler 并在 VS2008 Express 中使用基于表单的程序 我的串口设置如下 115200 8N1 Dtr 和 Rts 已启用 接收字节阈值 1 我有一个通过蓝牙
  • System.Drawing.Image.Save 抛出ExternalException:GDI 中发生一般错误

    我有一个函数 它需要一个位图 复制它的一部分并将其保存为 8bpp tiff 结果图像的文件名是唯一的并且文件不存在 程序有权写入目标文件夹 void CropImage Bitmap map Bitmap croped new Bitma
  • 为什么我的 COM 对象不显示组件服务中的方法?

    我正在尝试创建一个 COM 对象并将其注册到 COM 下 一切似乎都很顺利 但是当我查看组件服务并深入了解时 控制台根目录 组件服务 电脑 我的电脑 COM 应用程序 测试通讯 组件 TestCom Com MyCom 接口 MyCom 方
  • 分层架构中的异常处理

    我们正在分层设计中重构 当然还有重新设计 我们的服务 我们有服务操作层 BLL 网络抽象层 gt 处理网络代理 数据抽象层 但我们对我们的异常处理策略有点困惑 我们不想向外界透露太多 BLL 的信息 从其他层到bll就可以了 我们不想让 t
  • 如何将智能感知添加到我的应用程序中?

    我们的一款产品拥有一种专有的宏语言 通过我们的 Windows 软件进行编辑 我想添加智能感知 但我不知道如何去做 至少不完全重新发明轮子 是否有任何示例代码或第 3 方包至少可以让我开始 它不一定是免费的 该应用程序使用 NET 用 C
  • 在 DataGridView 中隐藏行非常慢

    我在 Winforms 应用程序中有一个 DataGridView 大约有 1000 行 未绑定 和 50 列 隐藏一列需要整整 2 秒 当我想隐藏大约一半的行时 这就成为一个问题 private void ShowRows string
  • 如何在没有 Visual Studio 的情况下将新文件添加到 .csproj 文件

    如何添加新文件到 csproj从命令提示符 我认为没有任何工具可以响应命令行上的 add project 命令来执行此操作 但我认为您可以幸运地创建一个程序 脚本来直接操作 csproj 文件的 XML 内容 csproj 文件的结构如下所
  • 如何在 VS2017/2015 中打开 .xproj 文件

    我有一个带有扩展名的 NET core 项目 xproj 当我在VS 2017中打开项目时 项目文件 xproj migrated to csproj 如何打开 xproj 文件 Visual Studio 2017 2015 我需要安装任
  • 找不到 Microsoft.Office.Interop Visual Studio

    我正在开发一个使用 C 发送电子邮件的应用程序 该应用程序将能够使用邮件模板等 问题是我无法找到任何 Office Interop 引用 这意味着我无法使用 Outlook 我的计算机上安装了 Office 但我也尝试从此链接安装 PIAh
  • 调整图像的亮度、对比度和伽玛值

    在 NET 中调整图像的亮度 对比度和伽玛值的简单方法是什么 c and gdi have a simple way to control the colors that are drawn It s basically a ColorMa
  • 如何正确转义mysql?

    我刚刚发现如果我写 select from tbl where name like foo 然后添加 foo 作为参数及其值 a 用户数据 它不会正确转义 我勒个去 它想要 a 即使我使用参数 我还是忍不住觉得我对 sql 注入持开放态度
  • 如何等待远程 .NET 调试器连接

    今天我遇到了一个问题 我需要远程调试程序 该程序是从另一个系统启动的 所以我真的没有机会在命令行上与它交互 不过我可以很容易地改变它的来源 我需要做的是让程序正常启动 然后等待我用调试器附加到它 我想不出一个让我快乐的方法 我确实发现了这个
  • 不支持 EF6 上下文类型“System.Data.Entity.Core.Objects.ObjectContext”

    我有一个使用 Visual Studio 2013 和 ADO NET 实体数据模型 EF6 创建的新项目 现在我必须使用一些动态数据函数 例如访问 MetaTable 对象 所以我添加以下代码 MetaModel model new Me
  • 枚举扩展方法

    在vs2008中 是否可以编写适用于任何枚举的扩展方法 我知道您可以针对特定枚举编写扩展方法 但我希望能够使用单个扩展方法对每个枚举进行处理 这可能吗 是的 只需针对基础进行编码Enum类型 例如 public static void So
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org

随机推荐

  • 路径 MTU 发现

    我正在开发一个应用程序 用于处理 视频处理等 并通过网络发送大文件 高达数十GB 我正在使用 FTP 发送文件 为了提高应用程序的性能 内存消耗 我想优化缓冲区 这样我就不会发送太大且碎片化的数据包 我遇到的问题是我没有太多的 RAM 来保
  • Python 无法安装 Box2D swig.exe 失败,错误代码 1

    我尝试在 python 上安装 Box2D 但收到错误日志 C gt pip3 install Box2D Collecting Box2D Using cached https files pythonhosted org package
  • Rails 查询 has_many :through 有条件地使用多个 id

    我正在尝试为通过 LocationFeature 模型具有位置和功能的网站构建一个过滤系统 基本上它应该做的是根据功能 ID 的组合为我提供所有位置 例如 如果我调用该方法 Location find by features 1 3 4 它
  • 从coverage.py 运行测试与从测试运行程序运行覆盖率

    在此期间内德 巴切尔德 Ned Batchelder 的 Coverage py http pythontesting net podcast coverage ned batchelder python testing 播客 Brian
  • 如何使网格列表中的每一行具有相同数量的项目(使用 Flexbox)? [复制]

    这个问题在这里已经有答案了 我使用以下 CSS Flexbox http css tricks com snippets css a guide to flexbox 也实现了下面第一张图片中看到的网格列表 display flex jus
  • 如何让 UISearchBar 范围栏始终可见?

    这是我在 iPhone SDK 方面遇到的最新问题 我已经设置了一个 UISearchBar 及其委托 另外 当我加载视图时 我会调用 self searchDisplayController searchBar showsScopeBar
  • 测试 IF 文件是否存在,ELSE xcopy 这两个文件

    大家早 因此 我花了几个小时试图将其他帖子的各种回复拼凑到我自己的代码中 以便看看是否可以获得有用的东西 不许去 我已经完全迷失在酱汁中了 所以我现在必须向你寻求帮助 背景 操作系统 Windows 10 我每天晚上使用程序 text2fo
  • 非常简单,只需单击链接即可更改单个页面上的 Div 内容

    我是编码方面的初学者 我一直在尝试在互联网上搜索不同的方法来做到这一点 而且它们似乎无处不在 我有一个简单的页面 其中包含 关于我 链接和 联系方式 链接 我希望默认信息是 关于我 信息 然后如果您单击页面上内容的 联系人 则切换到我的联系
  • therubyracer 或 nodejs,我应该使用哪个?

    我正在关注ruby on Rails 入门指南 http guides rubyonrails org getting started html在新安装的 Ubuntu 12 10 上 我准备好跑步rake db create但我收到以下错
  • Haskell - 输入“|”时出现解析错误

    pow1 b e e 0 1 otherwise b pow1 b e 1 我在 hs 文件中有完全相同的代码 并且在加载时我总是得到相同的解析错误 我不认为它实际上包含任何错误 所以我目前的想法是 符号不是 haskell 想要的 但它是
  • 多态与 if 和逻辑

    class Person private state normal cripple run if this state normal console log run else console log hobble vs abstract c
  • 将数据从 DataGridView 插入数据库

    我有一个小的 DataGridView 可以让用户输入数据 我正在尝试使用此代码将 DataGridView 中的数据输入到数据库中 strQry INSERT INTO Emp Fam Details empID famName famA
  • 包含文件内 __FILE__ 的 PHP 输出

    好的 这是一个真正的简短查询 我正在打电话 FILE 从函数内部 现在 该函数本身位于所需的文件中 现在 当我从父文件中调用这个函数时 FILE 输出父文件或包含的文件 哦 如果可能的话 我正在寻找可以确认的来源 因为我在这里的测试给出了完
  • 按索引数组过滤数组

    我有第一个值数组和第二个索引数组 我想过滤第一个数组并仅返回在第二个数组中具有索引的值 所以 给定 arr1 4775453877338112 5901353784180736 6605041225957376 arr2 0 2 我想返回
  • Google 地图链接“Safari 无法打开该页面,因为地址无效”

    我有一部装有 iOS7 的 iPhone 4s 但没有安装 Google 地图应用程序 每当我尝试导航到其上的位置链接时 它都会向我闪烁一条错误消息 Cannot Open Page Safari cannot open the page
  • C++:使用“.hh”作为 C++ 头文件扩展名的原因 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用包 AWSS3.jl 连接到在 EC2 实例上运行的 S3 存储桶?

    我正在尝试在 AWS 计算集群上使用 Julia 处理来自 Amazon S3 存储桶的数据 我如何在 Julia 中使用AWSS3 jl打开与 S3 存储桶的连接 我特别想知道配置连接并随后使用 Julia 的该配置的最佳方法是什么 创建
  • 如何创建“现代外观”的 Java 桌面应用程序?

    类似的问题会定期被问到 但其中许多答案已经过时了 我需要用 Java 构建一个跨平台桌面应用程序 其 GUI 的质量可与当代桌面应用程序相当 Swing 是默认选择 但我还没有遇到过至少看起来不太过时和笨重的 Swing 应用程序 我知道这
  • 如何从网页中嵌入的 pdf 中获取选定的文本?

    这是一个 pdf 文档的示例 我需要从中提取用户的选择http www ada gov hospcombrprt pdf http www ada gov hospcombrprt pdf 如果我们查看页面源代码 我们将看到如下内容
  • Code-First Add-Migration 不断添加同一列

    除其他外 我的模型还包含两个属性 这些属性在初始创建和迁移后添加到模型类中 public sealed class SomeModel other properties which are fine public int PropertyO