jjzjj

CommandBehavior

全部标签

c# - ExecuteReader(CommandBehavior.CloseConnection) 会始终关闭连接吗?

这样写这个辅助方法安全吗?它会一直关闭连接吗?我知道如果一切顺利,它会,但ExecuteReader会关闭连接,即使它抛出吗?publicstaticIEnumerableExecuteSelect(stringcommandText,DbConnectionconn){using(DbCommandcmd=conn.CreateCommand()){cmd.CommandText=commandText;conn.Open();using(DbDataReaderreader=cmd.ExecuteReader(CommandBehavior.CloseConnection)){fo

c# - CommandBehavior.SequentialAccess 是否有任何性能提升?

我意识到我总是按照索引(使用常量)返回的顺序读取我的字段。因此,据我所知,我的代码已经与CommandBehavior.SequentialAccess兼容。如果我打开它会有什么好处吗?DataReader已经是只向前的,只读的,这是真正的性能提升吗? 最佳答案 它的主要用途是当您读取非常大的CLOB(nvarchar(max)等)或BLOB(varbinary(max))字段时。在默认用法中,它会先缓冲整行数据,然后再让您靠近它——这可能意味着它必须为任何BLOB/CLOB字段分配一个大缓冲区。使用顺序模式时,不会缓冲行;您可以对

c# - 在 ExecuteReader() 中使用 CommandBehavior.CloseConnection 的用途/优势是什么

谁能告诉我什么是CommandBehavior.CloseConnection以及在com.ExecuteReader(CommandBehavior.CloseConnection)中将其作为参数传递的用途/好处是什么? 最佳答案 您在读取数据读取器时需要打开连接,并且希望尽快关闭连接。通过指定CommandBehavior.CloseConnection打电话时ExecuteReader,您确保您的代码在关闭数据读取器时关闭连接。但是您应该已经立即处理您的连接(而不是仅仅关闭它们),在这种情况下,这样做最多只能带来边际(几乎肯定