在现有 SqlConnection 中打开 DbContext 连接

2023-12-03

我感兴趣是否打开实体框架DbContext现有 ADO.NET 中的连接SqlConnection如果它们都使用相同的连接字符串,即在完全相同的数据库上操作,那么应该不鼓励吗?

例如:

using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new System.TimeSpan(0, 30, 0)))
{
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        DoStuffWithEF(connectionString);
        ...
    }
}

void DoStuffWithEF(string connectionString)
{
    using (var context = new MyCodeFirstDbContext(connectionString))
    {
        // basic LINQ queries ...
    }
}
  1. 假定连接在这两种情况下都被重用 连接字符串在两者中引用相同的 SQL Server 2012 数据库 案例?
  2. 此类操作是否存在需要 MSDTC 的危险?

连接字符串是not连接。您永远不会将实际连接传递给上下文,因此它必须创建一个新连接。因此,事务将升级为分布式事务以覆盖两个连接。

您需要将实际的连接对象传递到上下文,使用适当的构造函数。在这种情况下,将只有一个本地事务,无需将其升级为分布式事务。

在 EF6+ 中,您可以只需传递连接对象。将您的方法更改为:

void DoStuffWithEF(SqlConnection connection)
{
    using(var context=new MyCodeFirstDbContext(connection,false)
    {
    // ...
    }
}

在以前的版本中,您无法通过开放连接,这需要一些不愉快的体操,如上所述here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在现有 SqlConnection 中打开 DbContext 连接 的相关文章

  • 在 OpenCL 中将函数作为参数传递

    是否可以在 OpenCL 1 2 中将函数指针传递给内核 我知道可以用C实现 但不知道如何在OpenCL的C中实现 编辑 我想做这篇文章中描述的同样的事情 在 C 中如何将函数作为参数传递 https stackoverflow com q
  • 通信对象 System.ServiceModel.Channels.ServiceChannel 不能用于通信

    通信对象System ServiceModel Channels ServiceChannel 无法用于通信 因为它处于故障状态 这个错误到底是什么意思 我该如何解决它 您收到此错误是因为您让服务器端发生 NET 异常 并且您没有捕获并处理
  • ASP .NET MVC,创建类似路由配置的永久链接

    我需要帮助在 MVC 网站中创建类似 URL 路由的永久链接 Slug 已设置为 www xyz com profile slug 代码为 routes MapRoute name Profile url profile slug defa
  • 在 Xcode4 中使用 Boost

    有人设置 C Xcode4 项目来使用 Boost 吗 对于一个简单的 C 控制台应用程序 我需要在 Xcode 中设置哪些设置 Thanks 用这个来管理它 和这个
  • ZLIB 解压缩

    我编写了一个小型应用程序 该应用程序应该解压缩以 gzip deflate 格式编码的数据 为了实现这一点 我使用 ZLIB 库 使用解压缩功能 问题是这个功能不起作用 换句话说 数据不是未压缩的 我在这里发布代码 int decompre
  • 为什么 BOOST_FOREACH 不完全等同于手工编码的?

    From 增强文档 http www boost org doc libs 1 48 0 doc html foreach html foreach introduction what is literal boost foreach li
  • 转到 C# WPF 中的第一页

    我正在 WPF 中使用导航服务 为了导航到页面 我使用 this NavigationService Navigate new MyPage 为了返回我使用 this NavigationService GoBack 但是如何在不使用的情况
  • 禁用 LINQ 上下文的所有延迟加载或强制预先加载

    我有一个文档生成器 目前包含约 200 个项目的查询 但完成后可能会超过 500 个 我最近注意到一些映射表示延迟加载 这给文档生成器带来了一个问题 因为它需要根据生成的文档来访问所有这些属性 虽然我知道DataLoadOptions可以指
  • gdb 在 docker 上立即退出“进程已完成,退出代码 1”或 lldb“数据包返回错误 8”。另外:如何在 docker 中允许进行 C++ 调试

    这花了我一整天的时间才找到 所以我将其发布以供将来参考 我正在 docker 镜像上开发 C 我正在使用克利翁 我的代码是在调试模式下编译的 并且在运行模式下运行良好 但是当尝试调试时 进程会立即退出 并显示非常丰富的信息 Process
  • 用于从字符串安全转换的辅助函数

    回到 VB6 我编写了一些函数 让我在编码时无需关心字符串的 null 和 数字的 null 和 0 等之间的区别 编码时 没有什么比添加特殊情况更能降低我的工作效率了用于处理可能导致一些不相关错误的数据的代码 9999 10000 如果我
  • “MyClass”的类型初始值设定项引发异常

    以下是我的Windows服务代码 当我调试代码时 我收到错误 异常 CSMessageUtility CSDetails 的类型初始值设定项引发异常 using System using System Collections Generic
  • C# using 语句、SQL 和 SqlConnection

    使用 using 语句 C SQL 可以吗 private static void CreateCommand string queryString string connectionString using SqlConnection c
  • SQL Server 2008 错误 233

    我正在使用以下 sql 脚本在 SQL Server 2008 中创建新登录名 CREATE LOGIN xyz WITH PASSWORD xyz DEFAULT DATABASE master DEFAULT LANGUAGE us e
  • C# 搜索目录中包含字符串的所有文件,然后返回该字符串

    使用用户在文本框中输入的内容 我想搜索目录中的哪个文件包含该文本 然后我想解析出信息 但我似乎找不到该字符串或至少返回信息 任何帮助将不胜感激 我当前的代码 private void btnSearchSerial Click object
  • 过期时自动重新填充缓存

    我当前缓存方法调用的结果 缓存代码遵循标准模式 如果存在 则使用缓存中的项目 否则计算结果 在返回之前将其缓存以供将来调用 我想保护客户端代码免受缓存未命中的影响 例如 当项目过期时 我正在考虑生成一个线程来等待缓存对象的生命周期 然后运行
  • 32位PPC rlwinm指令

    我在理解上有点困难rlwinmPPC 汇编指令 旋转左字立即然后与掩码 我正在尝试反转函数的这一部分 rlwinm r3 r3 0 28 28 我已经知道什么了r3 is r3在本例中是一个 4 字节整数 但我不确定这条指令到底是什么rlw
  • 是否有一个 C++ 库可以从 PDF 文件中提取文本,例如 PDFBox for Java? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 去年 我使用 PDFBox 在 Java 中创建了一个应用程序来获取某些 PDF 文件中的原始文本 现在
  • 过度使用委托对性能来说是一个坏主意吗? [复制]

    这个问题在这里已经有答案了 考虑以下代码 if IsDebuggingEnabled instance Log GetDetailedDebugInfo GetDetailedDebugInfo 可能是一个昂贵的方法 因此我们只想在调试模式
  • 热重载时调用方法

    我正在使用 Visual Studio 2022 和 C 制作游戏 我想知道当您热重新加载应用程序 当它正在运行时 时是否可以触发一些代码 我基本上有 2 个名为 UnloadLevel 和 LoadLevel 的方法 我想在热重载时执行它
  • 如何创建向后兼容 Windows 7 的缩放和尺寸更改每显示器 DPI 感知应用程序?

    我是 WPF 和 DPI 感知 API 的新手 正在编写一个在 Windows 7 8 1 和 10 中运行的应用程序 我使用具有不同每个显示器 DPI 设置的多个显示器 并且有兴趣将我的应用程序制作为跨桌面配置尽可能兼容 我已经知道可以将

随机推荐

  • 在 Swift 中向 Firebase 数组添加项目,无需先观察数组

    目前 我通过首先观察数组 附加我的新帖子 然后更新引用来向我的 Firebase 数组添加一个新帖子 REF USER child UID observeSingleEventOfType Value withBlock snapshot
  • 带有文本文件的 Chrome 扩展 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我是 chrome 扩展的新手 我需要开发一个可以处理 text json 文件的 chrome 扩展 应该能够执行读写操作 文件将存储在同一台机器上 路径可能是 D abc x
  • jquery下拉菜单和ajax窗口之间的冲突

    我有一个 jquery 下拉菜单和一个模式窗口 它是 ajax 的触发器 当您单击 ajax 链接时会出现问题 当您关闭它时 下拉列表将不再起作用 因此 当您不单击 ajax 时 下拉菜单就会起作用 当您单击链接并将其关闭时 下拉菜单不显示
  • 为不同包中的对象创建通用转换器

    我有 5 个 Web 服务 A B C D 和 E 每个服务都有自动生成的对象 其结构完全相同 但名称不同且位于不同的包中 com ws a carA contains parameters and com ws a wheelA com
  • Android achartengine 简单饼图

    我正在跟进此链接中的示例和 创建了一个类如下 public class aChartExample public Intent execute Context context int colors new int Color RED Col
  • 在 Keras 中绘制模型

    我正在尝试在 Keras 中绘制我的模型 如下所示 Plot model graph tf keras utils plot model model to file Model1 png from IPython display impor
  • 如何连接 HIVE 中的两个表。

    我有两个表 A 和 B 它们都具有以下结构 Table A Name Age actualdate no Table B City sdate edate id 我希望使用 JOIN 获取 A 和 B 中的所有字段 其中 id no 且 s
  • 查找 int[] 数组中最受欢迎的元素

    int a new int 10 1 2 3 4 5 6 7 7 7 7 我怎样才能写一个方法并返回7 我想让它保持原生状态 而不需要列表 地图或其他助手的帮助 仅数组 试试这个答案 一 数据 int a 1 2 3 4 5 6 7 7 7
  • 静态方法无法访问实例字段?

    我读过很多关于静态字段的文章 静态方法无法访问实例字段 字段 因为实例字段仅存在于该类型的实例上 但我们可以在静态类中创建和访问实例字段 请找到下面的代码 class Program static void Main string args
  • 通过将集合划分为两个子集来查找可以由集合形成的最大总和

    说明 Given a set of numbers S Find maximum sum such that Sum A1 Sum A2 Where A1 S and A2 S and A1 A2 And Sum X is the sum
  • 在 Android 中向 SQLite 表添加一列?

    我想向现有 SQLite 数据库的表中添加另一列 这可能吗 还是我需要做一些特定的事情来升级它 如果是这样 我该如何去做呢 Use the 修改表命令 ALTER TABLE my table ADD COLUMN new column
  • 从 Google 通讯录获取 Google+ ID

    我正在使用 Google Contacts API 提取用户的联系人电子邮件地址和姓名 有没有办法也获得这些人的 Google ID 联系人 API 将返回profile链接 如果 G 个人资料与联系人条目链接 这是一个例子
  • PostgreSQL 中的级联删除

    我有一个数据库 其中有几十个与外键互连的表 一般情况下我想要默认的ON DELETE RESTRICT这些约束的行为 但是 当尝试与顾问共享数据库快照时 我需要删除一些敏感数据 我希望我的记忆DELETE FROM Table CASCAD
  • Laravel Eloquent - 查询数据透视表

    在我的 Laravel 应用程序中 我有三个数据库表 分别称为用户 项目和角色 它们之间存在 m n 关系 因此我还有名为 project user role 的数据透视表 数据透视表包含 user id project id 和 role
  • 如何在执行 MSTest 测试期间写入 Console.Out

    Context 控制台输出未出现是因为后端代码未在测试上下文中运行 你可能最好使用Trace WriteLine 在 System Diagnostics 中 然后添加写入文件的跟踪侦听器 本主题来自MSDN展示了一种执行此操作的方法 根据
  • 使用 XHR2 请求而不是 cordova-file-transfer 将二进制数据下载到应用程序沙箱中

    Cordova 正在 日落 即将弃用 cordovan plugin file 请参阅他们的博文 Cordova 开发社区不会再对文件传输插件进行更多工作 如果您愿意 您可以继续使用文件传输插件 在可预见的将来它应该可以正常工作 我们强烈建
  • Python虚拟机需要CPU来执行字节码吗?

    Python虚拟机需要CPU来执行字节码吗 字节码是否转换为机器码 然后CPU参与该过程 为了在任何计算机上运行应用程序 其代码必须始终以某种方式转换为机器代码 然后由 CPU 执行 问题在于这种情况何时以及如何发生 让我尝试向您展示 Py
  • 在泽西岛调用 SOAP

    我有一个客户的要求 希望围绕 SOAP Web 服务编写一个包装器 REST Web 服务 我对 SOAP 和 REST 都很陌生 谁能告诉我 我们是否可以在 REST Web 服务中调用 SOAP Web 服务 如果是的话 那么在 Jer
  • javascript 将数字除以小数

    我怎样才能将数字 钱 平均除以x数 该数字可以包含一位或两位小数 也可以不包含小数 such as 1000 or 100 2 or 112 34我希望能够将该数字平等地分成 x 部分 但是如果它不是奇数 则将额外的数字添加到最后一个数字
  • 在现有 SqlConnection 中打开 DbContext 连接

    我感兴趣是否打开实体框架DbContext现有 ADO NET 中的连接SqlConnection如果它们都使用相同的连接字符串 即在完全相同的数据库上操作 那么应该不鼓励吗 例如 using TransactionScope scope