Some Entity fields are optional and aren't set to a value in all cases, which makes them undefined or null. This makes the fields nullable. Nullable fields often have a 'default' value set in the database; this is a value which is inserted by the database server when a NULL is inserted in such a column. These default values are defined in the table definition itself.
If a field is NULL in the database, the in-memory value will be null / Nothing. This means that the CurrentValue property of the field object in the entity's Fields collection will be null / Nothing in this situation, not a default value, and the field's property will return null / Nothing as well.
To set a field to null, in a new entity, simply don't provide a value for the field. The INSERT query will not set the corresponding table field with a value, as the entity field wasn't changed (because you didn't supply a value for it). If you have set a default value for that table field, the database engine will automatically fill in the default value for that field in the database.
If you want to set a field of an existing entity to NULL, you first fetch the entity from the database and after that you set the field's property to null / Nothing. When the entity is saved after that, the UPDATE query will set the corresponding table field to NULL.
var order = new OrderEntity(10254); order.ShippingDate = null; order.Save();
To test whether a field is null, simply read the field's current value and test whether it's null / Nothing.
// if the field is a nullable field: var isNullSimple = order.ShippingDate == null; // if the field isn't nullable, and you want to check whether the current // value is set to null: var isNullNotNullable = order.Fields.GetCurrentValue((int)OrderFields.ShippingDate)==null;