public void InsertNull() { using (var s = OpenSession()) { 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 using (var provider = ConnectionProviderFactory.NewConnectionProvider(cfg.Properties)) { var conn = provider.GetConnection(); try { using (var cmd = conn.CreateCommand()) { cmd.Connection = conn; cmd.CommandText = "select * from usertype"; 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); } } }
public void InsertNull() { using (ISession s = OpenSession()) { ClassWithNullColumns userTypeClass = new ClassWithNullColumns(); userTypeClass.Id = 5; userTypeClass.FirstInt32 = 4; userTypeClass.SecondInt32 = 0; // with the user type should set value to null s.Save(userTypeClass); s.Flush(); } // manually read from the db IConnectionProvider provider = ConnectionProviderFactory.NewConnectionProvider(cfg.Properties); IDbConnection conn = provider.GetConnection(); IDbCommand cmd = conn.CreateCommand(); cmd.Connection = conn; cmd.CommandText = "select * from usertype"; IDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Assert.AreEqual(5, reader[0]); Assert.AreEqual(4, reader[1]); Assert.AreEqual(DBNull.Value, reader[2]); break; } conn.Close(); using (ISession s = OpenSession()) { s.Delete("from ClassWithNullColumns"); s.Flush(); } }