diff --git a/lib/teamcity/sqlite/x64/System.Data.SQLite.dll b/lib/teamcity/sqlite/x64/System.Data.SQLite.dll
index fdd7840909e..4d874dbedd7 100644
Binary files a/lib/teamcity/sqlite/x64/System.Data.SQLite.dll and b/lib/teamcity/sqlite/x64/System.Data.SQLite.dll differ
diff --git a/lib/teamcity/sqlite/x86/System.Data.SQLite.dll b/lib/teamcity/sqlite/x86/System.Data.SQLite.dll
index 1b5581a0b9b..21931ed50d1 100644
Binary files a/lib/teamcity/sqlite/x86/System.Data.SQLite.dll and b/lib/teamcity/sqlite/x86/System.Data.SQLite.dll differ
diff --git a/src/NHibernate.DomainModel/NHSpecific/ClassWithNullColumns.hbm.xml b/src/NHibernate.DomainModel/NHSpecific/ClassWithNullColumns.hbm.xml
index 07513a627a1..8cc364f33f4 100644
--- a/src/NHibernate.DomainModel/NHSpecific/ClassWithNullColumns.hbm.xml
+++ b/src/NHibernate.DomainModel/NHSpecific/ClassWithNullColumns.hbm.xml
@@ -1,29 +1,28 @@
-
-
+ table="usertype">
+
-
+
-
+
-
+
diff --git a/src/NHibernate.Test/NHSpecificTest/UserTypeFixture.cs b/src/NHibernate.Test/NHSpecificTest/UserTypeFixture.cs
index 4e378a5d717..12e442a6b15 100644
--- a/src/NHibernate.Test/NHSpecificTest/UserTypeFixture.cs
+++ b/src/NHibernate.Test/NHSpecificTest/UserTypeFixture.cs
@@ -1,6 +1,5 @@
using System;
using System.Collections;
-using System.Data.Common;
using NHibernate.Connection;
using NHibernate.DomainModel.NHSpecific;
using NUnit.Framework;
@@ -14,8 +13,15 @@ namespace NHibernate.Test.NHSpecificTest
public class UserTypeFixture : TestCase
{
protected override IList Mappings
+ => new [] {"NHSpecific.ClassWithNullColumns.hbm.xml"};
+
+ protected override void OnTearDown()
{
- get { return new string[] {"NHSpecific.ClassWithNullColumns.hbm.xml"}; }
+ using (var s = OpenSession())
+ {
+ s.Delete("from ClassWithNullColumns");
+ s.Flush();
+ }
}
///
@@ -25,40 +31,50 @@ protected override IList Mappings
[Test]
public void InsertNull()
{
- using (ISession s = OpenSession())
+ using (var s = OpenSession())
{
- ClassWithNullColumns userTypeClass = new ClassWithNullColumns();
- userTypeClass.Id = 5;
- userTypeClass.FirstInt32 = 4;
- userTypeClass.SecondInt32 = 0; // with the user type should set value to null
+ var userTypeClass = new ClassWithNullColumns
+ {
+ Id = 5,
+ FirstInt32 = 4,
+ SecondInt32 = 0
+ };
+ // with the user type should set 0 value to null
s.Save(userTypeClass);
s.Flush();
}
// manually read from the db
- IConnectionProvider provider = ConnectionProviderFactory.NewConnectionProvider(cfg.Properties);
- var conn = provider.GetConnection();
- var cmd = conn.CreateCommand();
- cmd.Connection = conn;
- cmd.CommandText = "select * from usertype";
-
- var reader = cmd.ExecuteReader();
-
- while (reader.Read())
+ using (var provider = ConnectionProviderFactory.NewConnectionProvider(cfg.Properties))
{
- Assert.AreEqual(5, reader[0]);
- Assert.AreEqual(4, reader[1]);
- Assert.AreEqual(DBNull.Value, reader[2]);
- break;
- }
-
- conn.Close();
+ var conn = provider.GetConnection();
+ try
+ {
+ using (var cmd = conn.CreateCommand())
+ {
+ cmd.Connection = conn;
+ cmd.CommandText = "select * from usertype";
- using (ISession s = OpenSession())
- {
- s.Delete("from ClassWithNullColumns");
- s.Flush();
+ using (var reader = cmd.ExecuteReader())
+ {
+ var idOrdinal = reader.GetOrdinal("id");
+ var firstOrdinal = reader.GetOrdinal("f_int32");
+ var secondOrdinal = reader.GetOrdinal("s_int32");
+ while (reader.Read())
+ {
+ Assert.AreEqual(5, reader[idOrdinal]);
+ Assert.AreEqual(4, reader[firstOrdinal]);
+ Assert.AreEqual(DBNull.Value, reader[secondOrdinal]);
+ break;
+ }
+ }
+ }
+ }
+ finally
+ {
+ provider.CloseConnection(conn);
+ }
}
}
}