为什么使用 IDENTITY_INSERT 的 EF 插入不起作用?

2024-02-12

这是查询:

using (var db = new AppDbContext())
{
    var item = new IdentityItem {Id = 418, Name = "Abrahadabra" };
    db.IdentityItems.Add(item);
    db.Database.ExecuteSqlCommand("SET IDENTITY_INSERT Test.Items ON;");
    db.SaveChanges();
}

执行时,Id在新表上插入的记录的数量仍然是 1。

NEW:当我使用交易或 TGlatzer 的答案时,我得到了异常:

必须为表“Items”中的标识列指定显式值 当 IDENTITY_INSERT 设置为 ON 或复制用户 插入到 NOT FOR REPLICATION 标识列中。


根据之前的这个Question https://stackoverflow.com/questions/13086006/how-can-i-force-entity-framework-to-insert-identity-columns您需要开始您的上下文事务。保存更改后,您还必须重新声明“身份插入”列,最后您必须提交事务。

using (var db = new AppDbContext())
using (var transaction = db .Database.BeginTransaction())
{
    var item = new IdentityItem {Id = 418, Name = "Abrahadabra" };
    db.IdentityItems.Add(item);
    db.Database.ExecuteSqlCommand("SET IDENTITY_INSERT Test.Items ON;");
    db.SaveChanges();
    db.Database.ExecuteSqlCommand("SET IDENTITY_INSERT Test.Items OFF");
    transaction.Commit();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么使用 IDENTITY_INSERT 的 EF 插入不起作用? 的相关文章

随机推荐

  • VB.NET 中的 Windows 窗体控件何时何地调用 InitializeComponent?

    我正在 VB NET 中做一个 Windows 窗体项目 但 VB NET 对我来说是全新的 我主要是一名 C 开发人员 在 C Windows 窗体中 从窗体 控件的构造函数调用用户控件的 InitializeComponent 当我在
  • 为您的网站提取 LinkedIn 推荐

    如何提取或获取针对我的网站的 LinkedIn 推荐 有没有插件或者PHP脚本 您可以使用以下方法提取建议领英 API https developer linkedin com apis 具体来说配置文件API https develope
  • 尝试让机器人在使用命令时记录一些内容discord.py

    我试图让我的机器人在使用时记录一个事件 也称为 mod 命令 由于我的机器人位于多个服务器中 因此我有一个命令 人们可以在其中设置他们希望机器人记录事件的日志通道 到目前为止 我已经 commands command commands ha
  • 当键未知时从字典中删除项目

    按值从字典中删除项目的最佳方法是什么 即当项目的键未知时 这是一个简单的方法 for key item in some dict items if item is item to remove del some dict key 还有更好的
  • mongodb聚合嵌入文档值

    我正在努力解决 mongodb 中的一些聚合函数 假设我有一些这样的文件 id 1 periods id 12 tables id 121 rows id 1211 text some text id 1212 text some othe
  • css、javascript——从哪里开始? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我是一名拥有 10 多年经验的 C C 程序员 我还了解 python 和 perl 但我从未使用过这
  • 正则表达式模式匹配字符串中至少 1 个数字和 1 个字符

    我有一个正则表达式 a zA Z0 9 这只允许输入字母数字 但如果我只插入数字或字符 那么它也接受它 我希望它的工作方式就像字段应该只接受字母数字值 但该值必须至少包含 1 个字符和 1 个数字 为什么不首先应用整个测试 然后添加针对字符
  • 以编程方式设置 UIButton 的背景不起作用

    我只是想简单地设置按钮的背景图像 但无论我尝试什么 它都什么也没做 我还放了一个UIImageView在那里查看图像文件是否有任何问题 但图像视图设置得很好 我必须在按钮的属性中设置一些东西吗 这里是代码 import UIKit clas
  • 如何让不同的解决方案引用同一个resx文件?

    我有一个 resx 文件 我想从多个解决方案 项目中使用它 并且我不想在每个解决方案中都有本地副本 仅在编译时带一份副本 有什么办法可以做到这一点吗 因为当我将其添加为 添加现有文件 时 它会在本地复制一份副本 知道该怎么做吗 如果您使用的
  • 为 iOS 构建 GMP

    我需要使用GMP在我正在开发的 iPhone 程序中 但真的不知道从哪里开始 我知道我必须为设备构建一个版本 为模拟器构建一个版本 但这就是我所知道的 我尝试环顾四周 但没能找到太多东西 这里有人成功构建吗GMP for iphone愿意指
  • 如何在 swing 中淡入淡出图像?

    我有一个继承自 JPanel 的类 上面有一个图像 我想设置一个小动画来显示面板 图像 然后在事件触发时将其淡出 我大概设置了一个线程并启动动画 但是我该如何真正做到淡入淡出呢 您可以自己进行线程处理 但使用Trident http ken
  • Rcpp 中的折叠向量

    我有一个 Rcpp 函数 它给我一个结果列表 其中包含一些字符串向量 std vector 1 1 0 1 0 0 0 0 2 1 0 0 0 0 0 1 3 1 0 1 0 0 0 0 4 1 0 0 0 1 0 0 我想得到这样的东西
  • React (CRA) Service Worker 缓存“公共”文件夹

    执行 create react app 并启用 Service Worker 后index js 来自的所有相关文件src文件夹被缓存 然而我的一些资源位于public目录 当我跑步时npm run build the asset mani
  • 如何在 Django 中使用 toastr 来显示成功或失败消息

    我一直在使用 Django 消息框架来显示应用程序中的成功或失败消息 但我希望 UI 良好 所以我发现 toastr 是向用户显示消息的好方法 但我不知道如何使用它 请引导我完成这个过程 下面的函数将用户保存到数据库 当保存用户信息时会显示
  • 基于 Mysql Case 语句将一张表连接到另一张表

    我有一张桌子叫PublicForum4 个不同的用户可以发布到 在这个表上我有 2 个字段称为AuthorId int and AuthorType Enum 显示用户 ID 以及哪个用户撰写了该帖子 现在我想选择全部PublicForum
  • Android 布局权重%

    我正在尝试摆弄 Android 布局权重属性 我想要一个具有 3 个子布局 的垂直布局 第一个将占用 25 的空间 第二个将占用 50 最后一个将占用 25 的空间 当我尝试添加到最后一个布局时 一切都不起作用 每个布局的权重应该是多少 我
  • ListView LayoutTemplate 在为空时不显示 asp.net

    我有一个
  • 如何在 ReactJs 中调用另一个类的函数

    我有两个课程 俱乐部 俱乐部和主要应用程序课程 在俱乐部课程中 我收到一份俱乐部列表 并将它们显示在 ul 列表 在里面club类我正在尝试从俱乐部列表中获取单击项目的详细信息 关键是我不知道如何调用中存在的详细函数club类在clubs
  • 将自然语言问题转换为 SQL 查询 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想使用 opennlp Java 库将自然语言问题转换为 SQL 查询 即 谁赢得了索契女子花样滑冰比赛的冠军 应转换为 selec
  • 为什么使用 IDENTITY_INSERT 的 EF 插入不起作用?

    这是查询 using var db new AppDbContext var item new IdentityItem Id 418 Name Abrahadabra db IdentityItems Add item db Databa