c# - 如何同时使用 SqlConnection 和 DataContext?

标签 c# .net sql-server

我有一个稍微过度设计的代码,需要将 DataContextSqlConnection 一起使用。 This MSDN article

If you provide an open connection, the DataContext will not close it. Therefore, do not instantiate a DataContext with an open connection unless you have a good reason to do this.

在我的代码中,我将有效地拥有这个:

using( var connection = new SqlConnection( connectionString ) ) {
    connection.Open();
    // some action
    using( var context = new DataContext( connection ) ) {
       //some action with the context object
    }
    //more action with the connection
}

对我来说它看起来不错 - 当外部 using 崩溃时连接将关闭。然而,有一种说法是我不应该这样做。

上面的代码片段是否正确地同时使用了这两个类?我应该期待任何问题吗?

最佳答案

你的意图应该是保持连接存活,并将连接传递给所有方法,在开始时打开它,在结束时关闭它,以提高性能,这很好,但看起来很麻烦。并且“连接”将被传递,甚至被业务逻辑层引用。

也许您应该找到更好的方法。 :)

关于c# - 如何同时使用 SqlConnection 和 DataContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13935665/

相关文章:

sql - 将 SQL Server 2005 置于单用户模式需要什么 SQL?

c# - 检查类中是否存在属性

c# - 使用 partial 从自动生成的 linq-sql 对象中抽象方法

C# 一次将字符串行合并为 3 组

c# - 在 ListBox 中显示自定义对象列表,为每个对象使用自定义用户控件

c# - 如何避免打开已经打开的word文档?

c# - 找不到对 System.Diagnostics.Stopwatch 的引用

javascript - .NET 正则表达式匹配来自任何语言的任何类型的字母

sql - 服务器 'MSERVER1-PC\SQLEXPRESS' 上的 MSDTC 不可用

sql - 在单个 SQL 查询中查询相似但不相交的数据集