我在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.");
}
}
第二个“using语句”发生错误。它说使用语句中使用的'BMS_DAL.BMSDataContext类型必须可以隐式转换为“System.IDisposable”'。
这里一定有什么问题?
答案 0 :(得分:0)
该错误指出BMSDataContext
未实现IDisposable
,using
语句需要类型。
取出第二个using
语句,并将其替换为new
。
或者,如果需要,您可以在IDisposable
上实施BMSDataContext
。您可以阅读可能有助于您决定是否需要实施的This Post。
答案 1 :(得分:0)
使用Statement
添加System.Data.Linqusing System.Data.Linq;