c# - 异常无法为表中的标识列插入显式值
问题描述
使用FluentAPI
我是autoincreamenting
我的表的主键。
FluentAPI 配置如下:
mb.ToTable("StationeryItems");
builder.HasKey(c => c.StationeryItemId);
我得到的例外:
当 IDENTITY_INSERT 设置为 OFF 时,无法在表“StationeryItems”中插入标识列的显式值。
解决方案
尝试以下方法之一,也许它们可以解决您的问题。DatabaseGeneratedOption
:
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int StationeryItemId { get; set; }
或者:
builder.Entity<StationeryItems>().Property(t => t.StationeryItemId)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
在 EF Core 中:
builder.Entity<StationeryItems>().Property(b => b.StationeryItemId).ValueGeneratedOnAdd();
推荐阅读
- java - Android:如何将图像的尺寸调整为适合 ImageView?
- java - 可重入锁条件
- javascript - 为什么我不能在登录后控制台记录 Facebook accessToken 并在之后重定向到 URL?
- kubernetes - Minikube 失去对节点的跟踪
- mysql - MySQL 从一个表中选择唯一记录,其中两个选择查询使用 NOT IN
- python - 为什么我的 ARIMA 预测远小于实际值?
- python - 无法从“身份验证”导入名称“bot_token”
- linux - 如何在 aws cli 中使用“cat”命令查看 S3 存储桶中的前 100 行 .csv 文件?
- r - dplyr::summarise 适用于 n() 但不适用于 sd() 或 mean() -“缺少参数“x”,没有默认值”
- python - Python:当条件为真时停止一段时间?