使用序列作为实体框架中主键值的生成器进行插入

2023-12-28

我有一个看起来像这样的序列:

CREATE SEQUENCE dbo.NextWidgetId
 AS [bigint]
 START WITH 100
 INCREMENT BY 2
 NO CACHE 
GO

和一个看起来像这样的表:

CREATE TABLE [dbo].[Widget_Sequenced]
(
    [WidgetId] [int] NOT NULL DEFAULT(NEXT VALUE FOR dbo.NextWidgetId),
    [WidgetCost] [money] NOT NULL,
    [WidgetName] [varchar](50) NOT NULL,
    [WidgetCode] [int] NOT NULL,
    [LastChangedBy] [int] NOT NULL,
    [RowVersionId] [timestamp] NOT NULL,

    CONSTRAINT [PK_Widget_Sequenced] 
    PRIMARY KEY CLUSTERED ([WidgetId] ASC) ON [PRIMARY]
) ON [PRIMARY]

有没有办法使用实体框架向该表结构添加新记录?

我尝试设置StoreGeneratedPattern for WidgetId to computed我尝试过Identity。两者都给了我错误。

我在 EF 5 中尝试过此操作。但如果它解决了此问题,我可以迁移到 EF 6。


从版本 6.2 开始,可以使用以下代码:

System.Data.Entity.SqlServer.SqlProviderServices.UseScopeIdentity = false;

更多信息:EF6 不适用于序列中的主键 https://github.com/aspnet/EntityFramework6/issues/165

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

使用序列作为实体框架中主键值的生成器进行插入 的相关文章

随机推荐

  • Jetpack compose NavHost 防止重组屏幕

    正如你所看到的 这就是我使用 MaterialBottomNavigation 实现 NavHost 的方式 我在两者上都有很多项目Messages and Feeds屏幕 当我在两个屏幕之间导航时 它们会自动重新组合 但我不想因为那里有太
  • Bootstrap 跨度和列之间有什么区别

    我使用引导程序 但试图理解跨度和列之间的区别 example div class span4 div or div class col md 4 div 他们之间有什么区别或者他们做同样的事情 div class span4 div 是旧的
  • session_start() 有关非法字符、空会话 ID 和失败会话的问题

    所以 我意识到这是一个重复的问题然而 这显然是一个错误 而这篇文章的原始帖子已经有 5 年历史了 但也有人说这是一次恶意攻击 会话 ID 太长或包含非法字符 有效字符为 a z A Z 0 9 和 https stackoverflow c
  • DotNet 核心设置失败

    在我的 Windows 10 笔记本电脑上安装 DotNet Core 时 DotNetCore 1 0 0 RC2 VS2015Tools Preview1 运行时包安装失败 我从安装日志文件中发现了一些错误信息 网络开发工具信息 037
  • 为什么kafka集群中的单节点多broker不是首选?

    我正在尝试将卡夫卡实施到生产中 想知道为什么单节点 多代理的 kafka 实例不是首选 很少有人建议 如果在单个节点上使用多个代理 则应该为它们分配单独的磁盘空间 但这样做的原因尚不清楚 有人可以解释一下单个代理与多个代理 kafka 实例
  • libjpeg 和 .Net jpeg 编解码器在单色数据上真的有很大差异吗?

    我处理大量单色图像数据 今天早上我注意到 libjpeg 和 Net jpeg 编解码器处理单色数据的方式似乎存在显着差异 看起来使用 libjpeg 以任何质量设置保存并使用默认 Net jpeg 编解码器打开的单色图像实际上仅加载 16
  • 两个相同的字符串可以是 C# 中的两个单独的实例吗?

    在 C 中 字符串是驻留的 也就是说 如果我创建字符串foobar当第二次使用它时 C 在内存中只会有一个字符串实例 虽然我有两个引用 但它们都将指向同一个字符串实例 这就是 C 中字符串必须不可变的原因之一 现在 我的问题是 是否有可能以
  • 是否有与 System.Windows.Forms.Screen 等效的 WPF?

    我正在尝试创建一个包含整个桌面工作区域的 WPF 窗口 在 WinForms 中 我将通过获取所有边界的并集来做到这一点System Windows Forms Screen AllScreens 是否有等效类型或其他机制来获取 WPF 中
  • 如何立即取消卷曲操作?

    我在用着libcurl http curl haxx se libcurl 在 C 中 我正在调用curl easy perform在与我的用户界面分开的线程中使用增强线程 http www boost org doc libs 1 43
  • 如何打印矩阵的所有列

    我有一个Matrix总共包含 5 列 我想要做的是打印所有列Matrix不仅仅是前 2 个 如下所示 val V Matrix svd V The V factor is a local dense matrix println V 给出以
  • iOS 为什么将工具栏间隙移至键盘

    我想出了如何使用出现的键盘移动带有按钮和文本字段的工具栏 void liftMainViewWhenKeybordAppears NSNotification aNotification NSDictionary userInfo aNot
  • 分布式源代码控制 - 推送单个变更集

    正在解决一个棘手的问题 希望得到社区的一些帮助 基本上 我们的开发团队分为两个团队 比如说 红色 和 蓝色 3 repos 1 大师2 红色 gt gt 大师的克隆3 蓝色 gt gt 大师的克隆 每个开发人员都在他们工作的本地计算机上克隆
  • 获取 GNU makefile 中最后一个单词之前的单词

    我需要从最后一个之前提取单词 MAKEFILE LIST 到目前为止 我想不出比这种怪物更好的东西了 LIST a b c LAST WORD INDEX words LIST BEFORE LAST word shell echo LAS
  • 删除部分文本文件 C++

    我有一个名为 copynumbers txt 的文本文件 我需要在使用时删除数字后面的一些数字示例将是一个包含以下内容的文本文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 每个整数应占用 4 个字节空间 我想删
  • 如何修改定义的函数来计算想要的输出(Pandas)

    我试图通过在以下条件下对 name val id 和 fac id 列进行三重循环来计算以下 new field 列 1 在每个 val id 循环中 如果 product CL 则 val against 和 our val amt 的最
  • dig 和 nslookup 的共享库

    我在用centos 6 4 在进行 dig 或 nslookup 时 出现以下错误 挖掘 google com dig error while loading shared libraries libcrypto so 4 cannot o
  • PyQt5:使用 QtDesigner,如何将信号与模块中定义的插槽/可调用连接

    我是 PyQt5 的初学者 请原谅我的无知我正在尝试将按钮与我定义的功能连接起来 import sys from PyQt5 import QtGui QtWidgets uic def PrintSomething print Hello
  • 子模块内的 Git 子模块(嵌套子模块)

    git 子模块是否可以由其他几个 git 子模块组成 并且超级 git 存储库可以获取每个子模块的内容 我尝试使用创建包含多个子模块的 git 存储库的明显 天真的方法来做到这一点 然后将此 git repo 添加到另一个 git repo
  • 如何使用 C# 泛型将这 3 种方法变成一种方法?

    我没有太多使用泛型 因此无法弄清楚是否可以使用泛型将以下三种方法变成一种方法以减少重复 实际上 我的代码当前有六个方法 但如果您可以解决这三个方法 那么其余的应该可以使用相同的解决方案来工作 private object EvaluateU
  • 使用序列作为实体框架中主键值的生成器进行插入

    我有一个看起来像这样的序列 CREATE SEQUENCE dbo NextWidgetId AS bigint START WITH 100 INCREMENT BY 2 NO CACHE GO 和一个看起来像这样的表 CREATE TA