Skip to content

Commit cbcca54

Browse files
authored
Make sure dbcommand is disposed (#2656)
1 parent c058080 commit cbcca54

File tree

2 files changed

+29
-29
lines changed

2 files changed

+29
-29
lines changed

src/NHibernate/AdoNet/GenericBatchingBatcher.cs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using System;
2-
using System.Collections.Generic;
1+
using System.Collections.Generic;
32
using System.Data;
43
using System.Data.Common;
54
using System.Text;
@@ -215,23 +214,24 @@ public int ExecuteNonQuery()
215214
return 0;
216215
}
217216

218-
var batcherCommand = _batcher.Driver.GenerateCommand(
217+
using (var batcherCommand = _batcher.Driver.GenerateCommand(
219218
_commandType,
220219
_sql.ToSqlString(),
221-
_sqlTypes.ToArray()
222-
);
223-
for (var i = 0; i < _parameters.Count; i++)
220+
_sqlTypes.ToArray()))
224221
{
225-
var parameter = _parameters[i];
226-
var cmdParam = batcherCommand.Parameters[i];
227-
cmdParam.Value = parameter.Value;
228-
cmdParam.Direction = parameter.Direction;
229-
cmdParam.Precision = parameter.Precision;
230-
cmdParam.Scale = parameter.Scale;
231-
cmdParam.Size = parameter.Size;
222+
for (var i = 0; i < _parameters.Count; i++)
223+
{
224+
var parameter = _parameters[i];
225+
var cmdParam = batcherCommand.Parameters[i];
226+
cmdParam.Value = parameter.Value;
227+
cmdParam.Direction = parameter.Direction;
228+
cmdParam.Precision = parameter.Precision;
229+
cmdParam.Scale = parameter.Scale;
230+
cmdParam.Size = parameter.Size;
231+
}
232+
_batcher.Prepare(batcherCommand);
233+
return batcherCommand.ExecuteNonQuery();
232234
}
233-
_batcher.Prepare(batcherCommand);
234-
return batcherCommand.ExecuteNonQuery();
235235
}
236236

237237
public void Clear()

src/NHibernate/Async/AdoNet/GenericBatchingBatcher.cs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
//------------------------------------------------------------------------------
99

1010

11-
using System;
1211
using System.Collections.Generic;
1312
using System.Data;
1413
using System.Data.Common;
@@ -90,23 +89,24 @@ public async Task<int> ExecuteNonQueryAsync(CancellationToken cancellationToken)
9089
return 0;
9190
}
9291

93-
var batcherCommand = _batcher.Driver.GenerateCommand(
92+
using (var batcherCommand = _batcher.Driver.GenerateCommand(
9493
_commandType,
9594
_sql.ToSqlString(),
96-
_sqlTypes.ToArray()
97-
);
98-
for (var i = 0; i < _parameters.Count; i++)
95+
_sqlTypes.ToArray()))
9996
{
100-
var parameter = _parameters[i];
101-
var cmdParam = batcherCommand.Parameters[i];
102-
cmdParam.Value = parameter.Value;
103-
cmdParam.Direction = parameter.Direction;
104-
cmdParam.Precision = parameter.Precision;
105-
cmdParam.Scale = parameter.Scale;
106-
cmdParam.Size = parameter.Size;
97+
for (var i = 0; i < _parameters.Count; i++)
98+
{
99+
var parameter = _parameters[i];
100+
var cmdParam = batcherCommand.Parameters[i];
101+
cmdParam.Value = parameter.Value;
102+
cmdParam.Direction = parameter.Direction;
103+
cmdParam.Precision = parameter.Precision;
104+
cmdParam.Scale = parameter.Scale;
105+
cmdParam.Size = parameter.Size;
106+
}
107+
await (_batcher.PrepareAsync(batcherCommand, cancellationToken)).ConfigureAwait(false);
108+
return await (batcherCommand.ExecuteNonQueryAsync(cancellationToken)).ConfigureAwait(false);
107109
}
108-
await (_batcher.PrepareAsync(batcherCommand, cancellationToken)).ConfigureAwait(false);
109-
return await (batcherCommand.ExecuteNonQueryAsync(cancellationToken)).ConfigureAwait(false);
110110
}
111111
}
112112
}

0 commit comments

Comments
 (0)