C# 在本地数据库中处置DataContext

C# 在本地数据库中处置DataContext,c#,database,windows-phone-7,windows-phone-8,C#,Database,Windows Phone 7,Windows Phone 8,我在Windows Phone中使用本地数据库。是否需要调用Dispose来释放资源?如何最好地释放资源 using (DataContext context = new DataContext(DBConnectionString)) { // context.SubmitChanges(); context.Dispose(); } using here调用Dispose,无论它是正常离开还是通过异常

我在Windows Phone中使用本地数据库。是否需要调用Dispose来释放资源?如何最好地释放资源

using (DataContext context = new DataContext(DBConnectionString))
      {
           //
           context.SubmitChanges();
           context.Dispose();
      }
using here调用Dispose,无论它是正常离开还是通过异常离开。您不必这样做。

使用here调用Dispose,无论它是正常离开还是通过异常离开。您不必这样做。

您在示例中使用的using块将自动确保在该块执行完毕后调用.Dispose。如果您没有使用该关键字,则必须自己手动调用Dispose

查看using语句的功能描述

另一方面,DataContext可能不是上下文的最佳名称,因为这对许多.NET开发人员来说意味着其他东西。

您在示例中使用的using块会自动确保在该块完成执行时调用.Dispose。如果您没有使用该关键字,则必须自己手动调用Dispose

查看using语句的功能描述


另一方面,DataContext可能不是上下文的最佳名称,因为对于许多.NET开发人员来说,这意味着其他一些东西。

Dispose本身被调用。你不需要叫它

通常:-

尽可能晚地获取资源,尽可能快地释放它 安全的


也就是说,你应该把你的DATACONTRONE看作一个资源。你不需要叫它

通常:-

尽可能晚地获取资源,尽可能快地释放它 安全的


即,你应该考虑你的DATACONTRONE作为一个资源。

谢谢链接@史提夫!谢谢你的链接@Steve!