public void NullSafeSet(IDbCommand Cmd, object Value, int Index)
        {
            if (Value == null) {
            NHibernateUtil.String.NullSafeSet(Cmd, null, Index);
            NHibernateUtil.String.NullSafeSet(Cmd, null, ++Index);
            return;
              }

              var UnencryptedMsg = (string) Value;
              var Factory = new CryptographyFactory();
              var EncryptorToUse = Factory.CreateEncryptor();

              if (string.IsNullOrEmpty(Salt))
            Salt = EncryptorToUse.GenerateSalt();

              var EncryptedMsg = EncryptorToUse.Encrypt(UnencryptedMsg, Salt);

              ////Set the values to persist
              NHibernateUtil.String.NullSafeSet(Cmd, EncryptedMsg, Index); //Save encrypted value
              NHibernateUtil.String.NullSafeSet(Cmd, Salt, ++Index); //Save Salt
        }