在编辑中,您提到“添加的多个实体可能具有相同的主键”。错误。在不知道您正在执行的所有详细信息的情况下,听起来好像您正在与实体建立关系-
在上下文中有两个实体具有相同的ID。这些可能是尚未保存的新实体,它们是从数据库中自动生成的ID的位置。如果关系是基于ID的,则存在一些歧义,因为Entity
framework无法确定该关系实际指向的是哪个新实体-它们都具有该关系指向的ID。
有两个潜在的修复程序。
为在上下文中创建的实体生成临时的唯一标识符。实体框架将在保存实体时将其丢弃,但直到此时,它可以使用它来区分一个新实体。过去,我为此使用负整数。
不要使用ID而是使用实体引用来创建关系。如果实体框架直接引用了该实体,则它不需要经过基于非唯一标识符来标识该实体的过程,也就不会出现此问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)