mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +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
|
// creating a new row should assign a default value to Firstname and Age
|
||||||
_schemaBuilder
|
_schemaBuilder.ExecuteSql("insert into TEST_User VALUES (DEFAULT, DEFAULT)");
|
||||||
.ExecuteSql("insert into TEST_User VALUES (DEFAULT, DEFAULT)");
|
|
||||||
|
|
||||||
// ensure we have one record with the default value
|
// ensure we have one record with the default value
|
||||||
var command = _session.Connection.CreateCommand();
|
var query = _session.CreateSQLQuery("SELECT count(*) FROM TEST_User WHERE Lastname = 'Doe'");
|
||||||
command.CommandText = "SELECT count(*) FROM TEST_User WHERE Lastname = 'Doe'";
|
Assert.That(query.UniqueResult<int>(), Is.EqualTo(1));
|
||||||
Assert.That(command.ExecuteScalar(), Is.EqualTo(1));
|
|
||||||
|
|
||||||
// ensure this is not a false positive
|
// ensure this is not a false positive
|
||||||
command = _session.Connection.CreateCommand();
|
query = _session.CreateSQLQuery("SELECT count(*) FROM TEST_User WHERE Lastname = 'Foo'");
|
||||||
command.CommandText = "SELECT count(*) FROM TEST_User WHERE Lastname = 'Foo'";
|
Assert.That(query.UniqueResult<int>(), Is.EqualTo(0));
|
||||||
Assert.That(command.ExecuteScalar(), Is.EqualTo(0));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
@@ -238,9 +235,8 @@ namespace Orchard.Tests.DataMigration {
|
|||||||
_schemaBuilder
|
_schemaBuilder
|
||||||
.ExecuteSql(String.Format("INSERT INTO TEST_Product (Price) VALUES ({0})", "123456.123456789"));
|
.ExecuteSql(String.Format("INSERT INTO TEST_Product (Price) VALUES ({0})", "123456.123456789"));
|
||||||
|
|
||||||
var command = _session.Connection.CreateCommand();
|
var query = _session.CreateSQLQuery("SELECT MAX(Price) FROM TEST_Product");
|
||||||
command.CommandText = "SELECT MAX(Price) FROM TEST_Product";
|
Assert.That(query.UniqueResult(), Is.EqualTo(123456.123456789m));
|
||||||
Assert.That(command.ExecuteScalar(), Is.EqualTo(123456.123456789m));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -337,16 +337,14 @@ namespace Orchard.Data.Migration.Interpreters {
|
|||||||
private void RunPendingStatements() {
|
private void RunPendingStatements() {
|
||||||
|
|
||||||
var session = _sessionLocator.For(typeof(ContentItemRecord));
|
var session = _sessionLocator.For(typeof(ContentItemRecord));
|
||||||
var connection = session.Connection;
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
foreach (var sqlStatement in _sqlStatements) {
|
foreach (var sqlStatement in _sqlStatements) {
|
||||||
Logger.Debug(sqlStatement);
|
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));
|
_reportsCoordinator.Information("Data Migration", String.Format("Executing SQL Query: {0}", sqlStatement));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user