问题标签 [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.
c# - “打开连接”实际上是什么意思?
我试图向某人解释为什么数据库连接实现 IDisposable,当我意识到我真的不知道“打开连接”的真正含义时。
所以我的问题是——c# 打开连接时实际上做了什么?
谢谢你。
nhibernate - 休眠一个 isession 相同的 idbconnection
我有一些代码在同一个 ISession 上执行了 2 次 session.Get(id)。我可以看到 ISession 创建了 2 个 idbconnections。我想这是因为某种配置。我希望它在同一个 idbconnection 上进行提取。如何?
c# - 是否有将 DbType 作为参数传递的通用方法
我需要执行此参数化查询或等效查询:
ALTER TABLE tableName ADD COLUMN ? ?
参数为新列的名称和数据类型。例如,如果我传入 'Name' DbType.Double,那么它将解析为:
ALTER TABLE tablename ADD COLUMN Name FLOAT
我不能只创建 DbType 和字段类型名称之间的映射,因为代码在IDbConnection
接口上工作,而不是特定的实现。有这样做的通用方法吗?现在我为每个实现都有一个单独的映射,这显然远非理想。
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:
dapper - 小巧玲珑。IDbConnection 和 IDbTransaction
我应该如何将 IDbConnection 和 IDbTransaction 与 Dapper 一起使用?
目前我只使用一个IDbConnection
. 如下所示:
但有时我需要发送 2 个命令?我应该使用BeginTransation
andEndTransaction
吗?
c# - 非托管资源、IDisposable 和自定义类型
关于这个主题的另一个话题,因为我厌倦了阅读无数主题以找到我的问题的答案:)
假设我们有以下类:
由于与数据库的连接是在 using 语句中实例化的,因此 con.close() 和最终 con.dispose() 方法将被调用,是否需要为 MyClass 实现 IDisposable?MyClass 超出范围时会被垃圾收集吗?
编辑:
谢谢你的回复,这就是我的想法,但我需要说清楚。还有一个问题。
如果我的类有几个 Operations() 在数据库上做一些工作,从资源消耗的角度来看,拥有一个 SqlConnection 成员,实例化并在类构造函数上打开它并实现 IDisposable 以关闭它而不是更好的做法在每个操作中使用“使用”语句(在每个操作中打开和关闭数据库)?当然,那样我应该只在 using 语句中实例化和使用 MyClass 对象。
asp.net-mvc - 注入连接字符串与 IDbConnection
注入连接字符串与实例的权衡是IDbConnection
什么?
我使用 StructureMap 将各种服务注入到我的 ASP.NET MVC 应用程序中,其中大部分都需要数据库访问以进行 LINQ-to-SQL 查询。为 IoC注入一个IDbConnection
似乎比通用连接字符串using
参数更可测试和更容易配置,但如果我没有明确地将连接包装在一个块中,我担心打开的连接会挂起。
我应该注意什么连接池的优点或缺点?
注入的连接字符串
注入的 IDbConnection
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
c# - 如何从 IDbConnection “继承” - 只需添加一个属性(DatabaseType)
你是怎么继承的IDbConnection
?我想添加一个属性(DatabaseType
例如 MS Access、SQL server、Paradox...)。据我所知IDbConnection
是一个接口,因此我相信他们希望我实现整个接口继承链中的所有成员。这似乎是很多工作。添加一个属性的最佳方法是什么IDbConnection
?
更新 我想要做的是这个。我有三种我经常使用的方法:ExecuteReader、ExecuteNonQuery、ExecuteNonQueryGetIdentity。它们被大量使用并具有参数(IDbConnection Conn、字符串 SQLString、object[] SQLParams)。我认为将 DatabaseType 添加到这三个方法和所有项目方法的最佳方法是“覆盖” IDbConnection,这样我只需更新项目中的一行代码。
我想知道 DatabaseType,因为在添加参数和构建 IDbCommand 时我会做一些不同的事情。专门用于日期时间。
例如:
c# - 多行插入的 IDBCommand 参数
我想沿着这些行创建一个多行插入语句:
其中要插入的行数是可变的。有没有办法使用IDBCommand
参数化构造这个查询?