the following rules apply for an instance of DataRow.["columnName"] null assignments:
The default default value is DbNull.Value for all except the strongly typed null columns where it is the appropriate strongly typed null value.
Null values are never written out during serialization to XML files (as in "xsi:nil").
All non-null values, including defaults, are always written out while serializing to XML. This is unlike XSD/XML semantics where a null value (xsi:nil)
is explicit and the default value is implicit (if not present in XML, a validating parser can get it from an associated XSD schema). The opposite is true for a DataTable : a null value is implicit and the default value is explicit.
All missing column values for rows read from XML input are assigned NULL. Rows created using NewRow or similar methods are assigned the DataColumn's default
The IsNull method returns true for both DbNull.Value and INullable.Null .
Base on my understanding, the
SystemValue will not be output
but set the
xsi:nil attribute to
If there's any concern, please feel free to let me know.