【发布时间】:2014-11-10 15:31:41
【问题描述】:
我刚开始做一个使用 LINQ to SQL 的项目。 我注意到代码没有使用 iDisposable,我自己永远不会传递 DataContext 但是,由于它是在 1 种方法中创建并传递给另一个方法的,所以我需要执行 db.Dispose() 2 次,每个方法一次还是只在创建 DataContext 实例的方法上一次?
protected void btnSaveCC_Click(object sender, EventArgs e)
{
var db = new DataContext();
CCBadgeInfo(db);
}
private void saveCCInfo(DataContext db)
{
var currentCase = (Case)HttpContext.Current.Items["CurrentCase"];
if (currentCase.TypeId == (int)prj.Constants.Constant..CreditFraud)
{
var applicant = db.Applicants.Where(a => a.ApplicantId == currentCase.ApplicantId).SingleOrDefault();
applicant.CCExpirationDate = tryConvertDateTime(txtCCExpirationDate.Text);
}
db.SubmitChanges();
}
【问题讨论】:
-
共识是:不,不需要dispose:stackoverflow.com/questions/821574/…
-
你的 CCBadgeInfo 的代码在哪里?
标签: .net c#-4.0 linq-to-sql