首页 > 解决方案 > Entity Framework Core - 当 IDENTITY_INSERT 设置为 OFF 时,无法在表“EntryType”中插入标识列的显式值

问题描述

我正在尝试使用 .Net Core 创建我的第一个 Razor 页面,但遇到了问题。我有以下2个模型:

在此处输入图像描述

和:

在此处输入图像描述

如您所见,一个条目可以有一个条目类型......非常简单。我遇到的问题是尝试创建新条目记录时:

在此处输入图像描述

我正在填充一个SelectList,如下所示:

在此处输入图像描述

在此处输入图像描述

正在消耗用于显示:

在此处输入图像描述

但是,当我尝试创建新条目时,出现以下错误:

在此处输入图像描述

似乎它不仅试图在数据库中创建一个 Entry 记录,而且还试图创建针对新 Entry 的EntryType,而不是仅仅在数据库中填充外键值(EntityTypeId):

在此处输入图像描述

我希望有人能指出我正确的方向。

标签: .net-corerazorforeign-keys

解决方案


EntryTypeIdEntry模型添加外键

public int EntryTypeId {get;set;} 

然后像这样在视图中绑定选择

asp-for="Entry.EntryTypeId"

这样,所有信息EntryType都将复制或映射到Entry您使用指定的 EntryTypeId 创建的实体。您正在尝试以您当前的方式修改现有条目 Id。


推荐阅读