我需要调用一次SaveChanges() 这是我的模型(简化):
|出版者| 1 ------- * |预订| * -------- 1 |位置|
以下是我正在做的事情:
void AddBook(Publisher pub, Location loc) {
Book b = Book.CreateBook(0,...);
context.AddRelatedObject(pub, "Books", b);
context.AddToLocations(loc);
context.AddLink(loc, "Books", b);
context.SaveChanges();
}
这引发了异常:
'Context.Books'中的实体参与'LocationBook'关系。找到0个相关的“位置”。预计1'位置'
此处的上下文是WCF数据上下文(使用Web服务引用)
在调试器下,我可以看到书籍和位置的实体以及位置的链接 - >书籍
如果你告诉我该怎么做,感激不尽?
答案 0 :(得分:0)
使用context.SaveChanges(SaveChangesOption.Batch)。 如果没有它,它会将每个更新作为单独的请求发送,服务器将尝试将每个请求单独应用于数据库。如果存在外键约束,则会失败。 使用Batch,客户端将在一个请求中发送所有内容,服务器将立即应用它,这应该可以。