我有一个类似
Class Author{
int AuthorId;
string Nmae;
}
Class book {
int bookid;
Author Author;
}
现在我要在书中添加一个新条目。
如果我添加book.Author.Add(newAuthor)
,newAuthor
会自动添加到Authors
表中吗?
还是我应该写这个?
dbcontext.Author.Add(author)
以及
book.Author.Add(newAuthor)
当我运行单元测试时,它出错Attempted to update or delete an entity that does not exist in the store
.
有一次我写了dbcontext.Author.Add(author)
,没有错误。
我尝试的另一种方法是在[SetUp]
,我在Authors
表中添加了作者。然后,我将这位作者添加到books
表中。但后来我得到了
无法跟踪实体类型为"作者"的实例,因为已跟踪具有相同 {'AuthorId'} 键值的另一个实例。附加现有实体时,请确保仅附加一个具有给定键值的实体实例。考虑使用"DbContextOptionsBuilder.EnableSensitiveDataLogging"来查看冲突的键值。
谁能帮我解决这个问题?
我有同样的问题
无法跟踪实体类型为"成员"的实例,因为已跟踪键值为"{Id: 1}"的另一个实例。附加现有实体时,请确保仅附加一个具有给定键值的实体实例。
很抱歉延迟更新。 我纠正了问题。 类作者 { int AuthorId; 弦 Nmae;} 课本 { int bookid; 作者作者;}
在我添加数据库上下文之前。图书添加(图书(
我添加了数据库上下文。作者.添加(新作者(
它无需创建任何其他条目即可正常工作,因为它只有 Id 作为外键,并且作者实体没有添加,因为它是关系实体。