创建新实体foo,编辑以前存在的foo,然后保存时出错。通用4004错误

时间:2010-02-04 15:56:03

标签: silverlight entity-framework silverlight-4.0

步骤非常简单,所以我想在这里还有其他的东西,问题是我刚刚回到4004,在任何地方都没有异常等,让调试变得烦人,我从ie错误窗口得到了这个

Microsoft JScript运行时错误:Silverlight应用程序中的未处理错误 代码:4004
类别:ManagedRuntimeError
消息:System.Windows.Ria.DomainOperationException:提交操作失败。更新条目时发生错误。有关详细信息,请参阅内部异常    在System.Windows.Ria.OperationBase.Complete(异常错误)    在System.Windows.Ria.SubmitOperation.Complete(异常错误)    在System.Windows.Ria.DomainContext.CompleteSubmitChanges(IAsyncResult asyncResult)    在System.Windows.Ria.DomainContext。<> c__DisplayClassd.b__5(Object)

 public void TurnPage(bool forward)
        {
            TurnPageForward = forward;
            // If the pages are already turning then don't try and skip days, just run the animation function so it inreases the speed
            if (!workBook.IsTransitioning && !IsWaitingForData)
            {
                IsWaitingForData = true;
                workBook.SnapshotPages();

                NoteCtx.SubmitChanges().Completed += (s, a) =>
                                                         {

                                                             workBook.ClearPageContents();
                                                             CurrentDate = CurrentDate.AddDays(forward ? 1 : -1);
                                                             PullNotes(CurrentDate);
                                                         };
            }
            else
            {
                workBook.BeginTurnPages(TurnPageForward);
            }
        }


        public void PullNotes(DateTime? noteTime)
        {
            NoteCtx.NoteItems.Clear();
            var loadOp = NoteCtx.Load(NoteCtx.GetNoteItemsForDayQuery(CurrentDate));
            loadOp.Completed += new EventHandler(NotesReady);
        } 

2 个答案:

答案 0 :(得分:0)

  

有关详细信息,请参阅内部异常。

这是关键。在调试器下运行您的服务器,将其设置为在抛出的异常(Debug - > Exceptions)上中断,并在它停止时查看InnerException

答案 1 :(得分:0)

修复后的问题,即使两个数据库在架构上相同,如果您正在切换哪个数据库,那么您必须重新生成EDMX文件。