From 821890f29723b331788c66a2ba9a4b0b5bf903ab Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Tue, 5 Mar 2013 15:35:03 -0800 Subject: [PATCH] Using NH to execute SQL queries --HG-- branch : 1.x --- .../DataMigration/SchemaBuilderTests.cs | 18 +++++++----------- .../DefaultDataMigrationInterpreter.cs | 8 +++----- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/src/Orchard.Tests/DataMigration/SchemaBuilderTests.cs b/src/Orchard.Tests/DataMigration/SchemaBuilderTests.cs index d37652e51..4bec38d8d 100644 --- a/src/Orchard.Tests/DataMigration/SchemaBuilderTests.cs +++ b/src/Orchard.Tests/DataMigration/SchemaBuilderTests.cs @@ -141,18 +141,15 @@ namespace Orchard.Tests.DataMigration { ); // creating a new row should assign a default value to Firstname and Age - _schemaBuilder - .ExecuteSql("insert into TEST_User VALUES (DEFAULT, DEFAULT)"); + _schemaBuilder.ExecuteSql("insert into TEST_User VALUES (DEFAULT, DEFAULT)"); // ensure we have one record with the default value - var command = _session.Connection.CreateCommand(); - command.CommandText = "SELECT count(*) FROM TEST_User WHERE Lastname = 'Doe'"; - Assert.That(command.ExecuteScalar(), Is.EqualTo(1)); + var query = _session.CreateSQLQuery("SELECT count(*) FROM TEST_User WHERE Lastname = 'Doe'"); + Assert.That(query.UniqueResult(), Is.EqualTo(1)); // ensure this is not a false positive - command = _session.Connection.CreateCommand(); - command.CommandText = "SELECT count(*) FROM TEST_User WHERE Lastname = 'Foo'"; - Assert.That(command.ExecuteScalar(), Is.EqualTo(0)); + query = _session.CreateSQLQuery("SELECT count(*) FROM TEST_User WHERE Lastname = 'Foo'"); + Assert.That(query.UniqueResult(), Is.EqualTo(0)); } [Test] @@ -238,9 +235,8 @@ namespace Orchard.Tests.DataMigration { _schemaBuilder .ExecuteSql(String.Format("INSERT INTO TEST_Product (Price) VALUES ({0})", "123456.123456789")); - var command = _session.Connection.CreateCommand(); - command.CommandText = "SELECT MAX(Price) FROM TEST_Product"; - Assert.That(command.ExecuteScalar(), Is.EqualTo(123456.123456789m)); + var query = _session.CreateSQLQuery("SELECT MAX(Price) FROM TEST_Product"); + Assert.That(query.UniqueResult(), Is.EqualTo(123456.123456789m)); } } diff --git a/src/Orchard/Data/Migration/Interpreters/DefaultDataMigrationInterpreter.cs b/src/Orchard/Data/Migration/Interpreters/DefaultDataMigrationInterpreter.cs index ee8741f50..6744e41d6 100644 --- a/src/Orchard/Data/Migration/Interpreters/DefaultDataMigrationInterpreter.cs +++ b/src/Orchard/Data/Migration/Interpreters/DefaultDataMigrationInterpreter.cs @@ -337,16 +337,14 @@ namespace Orchard.Data.Migration.Interpreters { private void RunPendingStatements() { var session = _sessionLocator.For(typeof(ContentItemRecord)); - var connection = session.Connection; try { foreach (var sqlStatement in _sqlStatements) { Logger.Debug(sqlStatement); - using (var command = connection.CreateCommand()) { - command.CommandText = sqlStatement; - command.ExecuteNonQuery(); - } + var query = session.CreateSQLQuery(sqlStatement); + query.ExecuteUpdate(); + _reportsCoordinator.Information("Data Migration", String.Format("Executing SQL Query: {0}", sqlStatement)); } }