问题标签 [idbconnection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3917 浏览

c# - “打开连接”实际上是什么意思?

我试图向某人解释为什么数据库连接实现 IDisposable,当我意识到我真的不知道“打开连接”的真正含义时。
所以我的问题是——c# 打开连接时实际上做了什么?

谢谢你。

0 投票
1 回答
608 浏览

nhibernate - 休眠一个 isession 相同的 idbconnection

我有一些代码在同一个 ISession 上执行了 2 次 session.Get(id)。我可以看到 ISession 创建了 2 个 idbconnections。我想这是因为某种配置。我希望它在同一个 idbconnection 上进行提取。如何?

0 投票
1 回答
289 浏览

c# - 是否有将 DbType 作为参数传递的通用方法

我需要执行此参数化查询或等效查询:

ALTER TABLE tableName ADD COLUMN ? ?

参数为新列的名称和数据类型。例如,如果我传入 'Name' DbType.Double,那么它将解析为:

ALTER TABLE tablename ADD COLUMN Name FLOAT

我不能只创建 DbType 和字段类型名称之间的映射,因为代码在IDbConnection接口上工作,而不是特定的实现。有这样做的通用方法吗?现在我为每个实现都有一个单独的映射,这显然远非理想。

0 投票
1 回答
6699 浏览

c# - C# MySql Connector/Net issues

Currently running Mono. I loaded MySQL and installed connector/net in my gac folder located in /usr/lib/mono/gac. The problem is that everytime I try to run it using a simple connection test, I get the following error:

It should be an assembly file if I recall correctly

Here's my code:

0 投票
1 回答
7456 浏览

dapper - 小巧玲珑。IDbConnection 和 IDbTransaction

我应该如何将 IDbConnection 和 IDbTransaction 与 Dapper 一起使用?

目前我只使用一个IDbConnection. 如下所示:

但有时我需要发送 2 个命令?我应该使用BeginTransationandEndTransaction吗?

0 投票
3 回答
380 浏览

c# - 非托管资源、IDisposable 和自定义类型

关于这个主题的另一个话题,因为我厌倦了阅读无数主题以找到我的问题的答案:)

假设我们有以下类:

由于与数据库的连接是在 using 语句中实例化的,因此 con.close() 和最终 con.dispose() 方法将被调用,是否需要为 MyClass 实现 IDisposable?MyClass 超出范围时会被垃圾收集吗?

编辑:

谢谢你的回复,这就是我的想法,但我需要说清楚。还有一个问题。

如果我的类有几个 Operations() 在数据库上做一些工作,从资源消耗的角度来看,拥有一个 SqlConnection 成员,实例化并在类构造函数上打开它并实现 IDisposable 以关闭它而不是更好的做法在每个操作中使用“使用”语句(在每个操作中打开和关闭数据库)?当然,那样我应该只在 using 语句中实例化和使用 MyClass 对象。

0 投票
1 回答
2124 浏览

asp.net-mvc - 注入连接字符串与 IDbConnection

注入连接字符串与实例的权衡是IDbConnection什么?

我使用 StructureMap 将各种服务注入到我的 ASP.NET MVC 应用程序中,其中大部分都需要数据库访问以进行 LINQ-to-SQL 查询。为 IoC注入一个IDbConnection似乎比通用连接字符串using参数更可测试和更容易配置,但如果我没有明确地将连接包装在一个块中,我担心打开的连接会挂起。

我应该注意什么连接池的优点或缺点?

注入的连接字符串

注入的 IDbConnection

0 投票
2 回答
1448 浏览

asp.net-mvc - 具有持久 HTTP 连接的 IDbConnection 生命周期管理

HttpContext当我的 ASP.NET MVC 应用程序(如 SignalR 集线器)中存在持久 HTTP 连接时,我在管理使用 StructureMap 的开放数据库连接的生命周期时遇到问题。

我的 DI 容器 StructureMap 将开放IDbConnection注入到多个服务中。为确保这些数据库连接已关闭并正确处理,我呼吁ObjectFactory.ReleaseAndDisposeAllHttpScopedObjects()EndRequest事件。

这对 MVC 控制器非常有用,直到需要数据库连接的服务被注入到 SignalR 集线器中,它为每个客户端保持持久的 HTTP 连接打开并最终使连接池饱和。

如果我将范围IDbConnection限定为单例,则每个应用程序只打开一个连接并且池不会饱和,但如果连接被锁定或超时,这是一个坏主意

那么也许有一种方法可以为我的 SignalR 集线器自定义数据库连接的范围?我尝试在每个 Hub 方法中解析一个服务实例,但这仍然会在 HttpContext 范围内实例化一个数据库连接,并在调用客户端的集线器连接期间保持打开状态。

当周围有持久的 HTTP 连接时,我应该如何在 HTTP 范围的上下文中使用 StructureMap 管理数据库连接的生命周期?

示例代码

典型服务

典型的 SignalR 集线器

结构图配置

全球.asax.cs

0 投票
2 回答
1865 浏览

c# - 如何从 IDbConnection “继承” - 只需添加一个属性(DatabaseType)

你是怎么继承的IDbConnection?我想添加一个属性(DatabaseType例如 MS Access、SQL server、Paradox...)。据我所知IDbConnection是一个接口,因此我相信他们希望我实现整个接口继承链中的所有成员。这似乎是很多工作。添加一个属性的最佳方法是什么IDbConnection

更新 我想要做的是这个。我有三种我经常使用的方法:ExecuteReader、ExecuteNonQuery、ExecuteNonQueryGetIdentity。它们被大量使用并具有参数(IDbConnection Conn、字符串 SQLString、object[] SQLParams)。我认为将 DatabaseType 添加到这三个方法和所有项目方法的最佳方法是“覆盖” IDbConnection,这样我只需更新项目中的一行代码。

我想知道 DatabaseType,因为在添加参数和构建 IDbCommand 时我会做一些不同的事情。专门用于日期时间。

例如:

0 投票
2 回答
2775 浏览

c# - 多行插入的 IDBCommand 参数

我想沿着这些行创建一个多行插入语句:

其中要插入的行数是可变的。有没有办法使用IDBCommand参数化构造这个查询?