我知道之前有人问过这个问题,但解决方案是转到菜单 DEBUG 和 Exceptions 并在 common 下添加 invalidoperationexception 然后再次调试。然后,调试器应该直接到引发异常的原因所在的行,但事实并非如此。它不断地跳转到 db.SubmitChanges。
我试图取消注释和注释以这种方式接近它的行,我发现这条线导致了它:
db.CasePhotos.InsertAllOnSubmit(this._casePhotos);
我使用 codefirst 方法,因为数据库是 windows phone 的 isostore。
CasePhoto 类包含与 Case 类的关联。
这就是我的 CasePhoto 协会的样子:
[Column]
public int CaseId;
private EntityRef<Case> _Case;
[Association(Storage = "_Case", ThisKey = "CaseId"]
public Case Case
{
get { return this._Case.Entity; }
set { this._Case.Entity = value; }
}
问题显然是关联。
案例存在,但我唯一要做的就是将新创建的案例 ID 分配给关联的键,如下所示:
item.CaseId = newCaseId;
我做错了什么?我还尝试将整个对象添加到“案例”属性中,但没有运气。