2012-03-29 10 views
1

エンティティを削除しようとするとVisual Studioは "serviceContext.DeleteObject(entity);"という行でクラッシュし続け、 "コンテキストが現在エンティティを追跡していません。誰にも何らかのアイディアがあり、それを修正する方法は?エンティティがAzureテーブルから削除されない

CloudTableQuery<ScheduleEntity> query = scheduleManNot.retrieveSchedule(); 

      //Checks every entry 
      foreach (ScheduleEntity entity in query) 
      { 
       comparison = System.DateTime.Compare(entity.eventTime, time); 

       if (comparison <= 0) 
       { 
        changeConfirmation = scheduleManNot.changeInstanceCount(entity.subscriptionID, entity.amount, entity.serviceName); 

        if (changeConfirmation == false) 
        { 
         Console.WriteLine("Configuration Change failed"); 
        } 

        if (changeConfirmation == true) 
        { 

         Console.WriteLine("Configuration Change Succeeded"); 
         Console.WriteLine(entity.serviceName + " had its instance count changed to " + entity.amount); 


         serviceContext.AttachTo("schedule", entity, "*"); 
         serviceContext.DeleteObject(entity); 

         //Submit the operation to the table service 
         serviceContext.SaveChangesWithRetries(); 

答えて

1

クエリでエンティティを受信して​​いるため、エンティティを添付する必要はありません。 こういうわけで、あなたがコメントに書いたとおり、attachtoはまったく必要ないと思います。 添付されていないエンティティを削除する必要がある場合は、最初に添付して、削除済みのエンティティとしてマークすることができます。

+0

私はチェックし、 "スケジュール"は正しいデータセットです。正直言って私は、AttachToがどのように動作しているのか、私はまったく確信しています。オブジェクトを削除します。私はそれをしないでください。 – StevenR

+0

私は答えを更新しました。 – daryal

+0

attachToを取り出しても同じエラーが発生する – StevenR

関連する問題