The record's primary-key string, or null when the record does not actually carry a
complete key.
CompositeKey.ToConcatenatedString() is a formatter, not a validator: it interpolates
whatever it finds, so a row missing its ID column yields the string "ID|undefined" —
and yields the SAME string for every such row. Anything using that as an identity then
collapses N rows into one. In ag-Grid that is error #2, "Duplicate node id … from
getRowId", and the visible symptom is a grid that silently renders one row where the data
had hundreds.
Validated on the key's VALUES rather than by sniffing the formatted string for the text
"undefined": a legitimate key value could be the word "undefined", and a key of 0 or
false is perfectly usable and must not be rejected.
The record's primary-key string, or
nullwhen the record does not actually carry a complete key.CompositeKey.ToConcatenatedString()is a formatter, not a validator: it interpolates whatever it finds, so a row missing itsIDcolumn yields the string"ID|undefined"— and yields the SAME string for every such row. Anything using that as an identity then collapses N rows into one. In ag-Grid that is error #2, "Duplicate node id … from getRowId", and the visible symptom is a grid that silently renders one row where the data had hundreds.Validated on the key's VALUES rather than by sniffing the formatted string for the text
"undefined": a legitimate key value could be the word "undefined", and a key of0orfalseis perfectly usable and must not be rejected.