2012-07-31 85 views
1

我有一個類似於這個問題的前一個問題,但是關於實體框架。從那以後,我嘗試使用Telerik OpenAccess。這裏是我的模型:在Telerik OpenAccess中提交異常ORM

enter image description here

當通過下面的函數運行大約每10秒一次,它的行爲和預期通過異常沒有。但是,如果我在短時間內對這個函數進行了連續的調用,那麼我得到了這個錯誤。

InvalidOperationException - Not allowed because Commit/Rollback is in progress 

這裏是函數。唯一的例外是扔在SaveChanges()

private void NewTaskTaskCompleted(object sender, TaskCompletedEvent e) 
{ 
    TASK scheduledTask = entities.TASKs.First(x => x.TASK_NAME == e.ClassName); 
    scheduledTask.NEXT_RUN = e.NextRun; 
    //entities.SaveChanges(); 

    TASK_LOG logMsg = new TASK_LOG() 
    { 
     TASK = scheduledTask, 
     MESSAGE = e.TaskResult.Message, 
     STATUS = e.TaskResult.Status ? "Successful" : "Failure", 
     TIMESTAMP = e.CompletedTime 
    }; 

    scheduledTask.TASK_LOGs.Add(logMsg); 
    //entities.Add(logMsg); 
    entities.SaveChanges(); 
} 

是否調用SaveChanges呼之不應阻止退出,防止出現下一個函數調用的功能?

回答