mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 11:44:58 +08:00
Using NH to execute SQL queries
--HG-- branch : 1.x
This commit is contained in:
@@ -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<int>(), 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<int>(), 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));
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -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));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user