c# - LINQ to SQL 和打开连接

标签 c# asp.net linq-to-sql

我的数据访问层中一直有以下类型的代码设置(虚构的示例)

public static class LoadData
{
  private static SomeDataContext db = new SomeDataContext();

  public static void LoadData(DropDownList ddl)
  {
    (from ls in db.MyLookup
    select ls).OrderBy(ls=>ls.theId).ToList()
    .ForEach(ls=>ddl.Items.Add(new ListItem(ls.theText, ls.theValue.ToString())));
  }
}

DataContext 是否“智能”到足以自行清理,或者我应该用 using 语句包装我的查询以确保连接已关闭?

最佳答案

您绝对应该至少在访问数据库时使用 using block 。数据上下文不会自动为您打开和关闭连接。您仍然对自己的资源负责。

如果您需要使用单个连接(相关数据等)多次访问数据库,您可能需要考虑使用工作单元模式。

关于c# - LINQ to SQL 和打开连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16402104/

相关文章:

c# - 在运行时更改资源的提取位置?

c# - .net mvc select list handle on selected item event

c# - 如何将 POST 请求正文中的有效 XML 提交到使用 XML 的 ASP.NET Core Web API?

c# - 我可以通过 Linq to Sql 中的 InserAllOnSubmit() 插入的最大记录数是多少

linq-to-sql - 无法格式化节点 'Value' 以作为 SQL 执行

c# - 如何在 C# WinRT/winmd 中调整图像大小?

c# - 我如何让我的数据网格随窗口增长并保持利润率?

asp.net - 依赖注入(inject)陷阱

c# - ASP.NET MVC 6 中的 TryValidateModel

.net - 使用 LINQtoSQL 获取随机行