0

C#プログラムでこのエラーが発生しました

public bool Delete(ref ENTValidationErrors validationErrors, int userAccountId)
     {
         if (DBAction == DBActionEnum.Delete)
         {
             // Begin database transaction
             using (TransactionScope ts = new TransactionScope())
             {
                 // Create data context
                 using (BMSDataContext db = new BMSDataContext())
                 {
                     this.Delete(db, ref validationErrors, userAccountId);
                     if (validationErrors.Count == 0)
                     {
                         //Commit transaction since the delete was successful
                         ts.Complete();
                         return true;
                     }
                     else
                     {
                         return false;
                     }
                 }
             }
         }
         else
         {
             throw new Exception("DBAction not delete.");
         }
     }

エラーは、2 番目の「using ステートメント」で発生します。「using ステートメントで使用されるBMS_DAL.BMSDataContextタイプは、暗黙的に "System.IDisposable" に変換可能でなければなりません」と表示されます。

ここで何が間違っている必要がありますか?

4

2 に答える 2

0

エラーBMSDataContextは が実装していないことを示してIDisposableおり、usingステートメントには実装する型が必要です。

2 番目のusingステートメントを取り出し、 new.

または、必要IDisposableBMSDataContext応じて実装できます。実装する必要があるかどうかを判断するのに役立つこの投稿を読むことができます。

于 2012-08-30T19:48:52.190 に答える