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.");
         }
     }

错误发生在第二个“使用语句”上。它说'BMS_DAL.BMSDataContext type used in using statement must be implicitly convertible to "System.IDisposable"'

这里一定有什么问题?

4

2 回答 2

0

错误指定BMSDataContext不实现IDisposable,并且using语句需要实现的类型。

取出第二using条语句,并将其替换为new.

或者,您可以IDisposable根据BMSDataContext需要实施。您可以阅读这篇文章,它可能会帮助您决定是否需要实施它。

于 2012-08-30T19:48:52.190 回答
0

使用语句添加 System.Data.Linq

using System.Data.Linq;
于 2015-04-14T08:06:40.283 回答