IDENTITY_INSERT 为 OFF,无法插入数据,

类似的错误,解决记录:

网上查了下,都是 Code First 模式下的解决方案,

如:在 DBContext 的 OnModelCreating 方法里面

// EntityFramework .NET Core
modelBuilder.Entity<Project>().Property(t => t.Id).ValueGeneratedOnAdd(); //... // EntityFramework
modelBuilder.Entity<Project>().Property(t => t.Id)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);

或:在实体类的定义里给 id 加注解如下

[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }

以上方法,在不采用各种模式的情况下,没有起作用,

最后发现,只要前端在给后端传json时,只要不传 id 这个字段就可以了,

然而手残地给传了给默认值 -1 。。。

其实本来就没有问题的(后端接受参数时是用类对象接收的,id默认会是0,这时Add方法正常,而给0以外的值时就会报错,无法给自增列赋值)

[MSSQL] [EntityFramework(.Net Core)] 自增长id字段,无法插入数据的更多相关文章

  1. ThinkPHP增加数据库字段后插入数据为空的解决办法

    今天用ThinkPHP做了一个简单的商品发布系统,数据库本来只有四个字段id,name,url,image.id是主键,name是商品名称,url是商品链接,image是商品图片,做的差不多了,发现还 ...

  2. SQL Server output子句用法 output inserted.id 获取刚插入数据的id

    --插入数据,并返回刚刚插入的数据id INSERT INTO [soloreztest] ([name]) output inserted.id VALUES ('solorez') --执行结果: ...

  3. pandas:字段值插入数据表第一行的解决办法

    1. 问题描述 在对课程表进行数据抽取时,由于课表结构的原因,需要在原始表字段名作为第一行数据,并对原始字段名进行替换. 原始数据如下所示: 2. 解决办法 经思考,此问题可抽象为:在不影响原始数据的 ...

  4. mysql的骚操作:自增长的字段同时插入到另一个字段

    如题 ' ); select * from information_schema.tables where table_schema ='mytest' and table_name='users'; ...

  5. Mybatis获取自动增长Id

    Mybatis获取自动增长Id MyBatis成功插入后获取自动增长的id 1.向xxMapping.xml配置中加上两个配置. <insert id="insertUser" ...

  6. MSSql Server 批量插入数据优化

    针对批量入库, .Net Framework  提供了一个批量入库Class : SqlBulkCopy , 批量入库性能不错,经测试 四万左右数据 2秒入库. 以下是测试Demo , 使用外部传入事 ...

  7. Asp.net Identity 系列之 怎样修改Microsoft.AspNet.Identity.EntityFramework.IdentityUser 的 Id 字段的数据类型

    这篇博客我们来学习如何将AspNetUsers 表的Id 字段 的类型由nvarchar(128) 改为Int 并且子增长 1.为什么要修改 如果你运行过 Asp.net mvc 示例项目,你好会发现 ...

  8. 利用数据库触发器让字段与自增长Id相关联

    十年河东,十年河西,莫欺少年穷 学无止境,精益求精 今天是数据库脚本类的代码,所以不想过多阐述 如下数据表: create table Card( Id ,) primary key, CardNo ...

  9. ID字段不采用数据库自增长的几点理由

    一个小程序,最初采用了 SqlServer 数据库,后来为了便于部署,转而采用了 Firebird 嵌入式数据库.在重构代码转到 Firebird 的过程中,对“数据实体的数据表的ID字段是否应该使用 ...

随机推荐

  1. C++入门编程题目 NO.1

    题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. #incl ...

  2. 图论--最短路--第K短路(IDA*)(IDA Star)模板

    #include <iostream> #include <cstdio> #include <cstring> #include <queue> us ...

  3. python selenium(定位方法)

    一.定位方法 注意:元素属性必须唯一存在 #id定位 find_element_by_id() #name定位 find_element_by_name() #class_name定位 find_el ...

  4. SQLite使用(一)

    简单介绍SQLite常用API: int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **p ...

  5. CSS设计超链接样式

    \(\color{Red}{首先设计一下静止的a标签}\) a{ margin-right:10px;/*右边距,其他边距同理*/ border-bottom:1px solid #eec/*分别是下 ...

  6. CC2530ADC应用

    ADC单通道外部电压采集 需要设置一个上机位命令控制字符. 系统时钟初始化——32MHZ晶振 串口0函数初始化——设置串口对应引脚,波特率,清楚中断标志 串口0接收中断响应函数——U0DBUF将控制命 ...

  7. Hexo+GitHub Actions 完美打造个人博客

    Hexo简介 Hexo是一款基于Node.js的静态博客框架,依赖少易于安装使用,可以方便的生成静态网页托管在GitHub和Coding上,是搭建博客的首选框架.大家可以进入hexo官网进行详细查看, ...

  8. Mysql 常用函数(7)- length 函数

    Mysql常用函数的汇总,可看下面系列文章 https://www.cnblogs.com/poloyy/category/1765164.html length 的作用 返回字符串的字节长度 注意: ...

  9. 以前的一些word的整理

    LAMP部署 环境:虚拟机centos7 安装apache: 命令:yum install -y httpd (在执行这个命令时,可能会遇到运行yum时出现/var/run/yun.pid已被锁定,P ...

  10. 2018-06-21 js正则表达式

    正则表达式:描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串替换或者从某个串中取出符合某个条件的子串等. 1.修饰符 i->忽略大小写: g->全部匹配: m- ...