小编jur*_*jvt的帖子

获取上下文连接并将其用作其他位置的连接

我正在一个环境中,企业主机应用程序通过ProgID调用已实现COM接口的客户端应用程序.这是主机应用程序的程序员允许使用插件增强应用程序的方式.

Host app <-> COM interface <-> Client app
Run Code Online (Sandbox Code Playgroud)

客户端应用程序可以使用提供的COM接口中的方法.

其中一种方法是RunSqlQuery(rawSqlQuery).它有可能在主机应用程序的登录用户范围内与SQL完全通信(基于连接身份验证类型,可以是Windows或SQL用户).

我正在寻找的是一种获取当前连接上下文的方法,该上下文是从宿主应用程序启动的,并将其用作DbContext的连接.

为什么?

  1. 我想使用一些ORM进行数据绑定,参数绑定,更改跟踪器等.
  2. 我可以使用我自己的显式SQL连接,但是使用我自己的SQL连接,我没有到达本地临时表,这些表是在主机应用程序的开始时创建的.主机应用程序严重依赖于存储过程,而存储过程又与提到的本地临时表一起运行
  3. 在使用显式SQL连接(主SQL连接保存主机应用程序)的情况下,我需要管理连接字符串中的连接凭据(当不允许SQL Server身份验证混合模式时)

为清楚起见,问题在哪里,类似的东西在SQL CLR世界中是众所周知的:

在SQL CLR UDF中,有可能将context connection=trueSqlConnection的连接字符串用作连接字符串(此处更多).

在上面的链接中,他们写道:

连接在与存储过程或函数不同的数据库会话中,它可能具有不同的SET选项,它在单独的事务中,它不会看到您的临时表,依此类推.

在该链接的其他地方:

您可能希望存储过程或函数在该连接的上下文中执行,以及其事务,SET选项等.这称为上下文连接.

c# sql-server

12
推荐指数
1
解决办法
568
查看次数

标签 统计

c# ×1

sql-server ×1