public void NullSafeSet(IDbCommand cmd, object value, int index) { if (value == null) { _type.NullSafeSet(cmd, null, index); return; } var primitive = (ValueObject <VALUE>)value; value = primitive.GetValue(); _type.NullSafeSet(cmd, value, index); }