Документация гласит следующее:
Служба таблиц не сохраняет нулевые значения для свойств. При запросе сущностей все вышеперечисленные типы свойств не обнуляются .При написании сущностей все вышеперечисленные типы свойств обнуляются, и любое свойство с нулевым значением обрабатывается так, как если бы полезная нагрузка не содержала этого свойства.
Я выделил интересующий меня текст.
На первый взгляд мне показалось, что напечатанных свойств сущности никогда не будет null
после чтения сущности из строки.Это, конечно, не соответствует действительности, проверено тестированием.
Я явно неправильно прочитал документацию.Эта документация конкретно относится к поведению ответа REST, поэтому в действительности происходит то, что в ответе REST просто пропускаются свойства, для которых не сохранено значение.Таким образом, не сохраняя никаких значений null
, любые свойства в результатах REST гарантированно будут ненулевыми, а те, которые были бы null
, просто отсутствуют в ответе (до тех пор, пока объект с нулевыми свойствами)заменяется, а не объединяется, когда записывается).
Следовательно, недостающие свойства в ответе REST, сопоставляемые с ITableEntity
реализациями, ДОЛЖНЫ быть выведены как null
.
Кроме того, дляубедитесь, что значения null
действительно "сохранены", сущность должна быть заменена, а не объединена.
Является ли мой анализ правильным?
Если да, то не должна ли документация бытьобновлен, чтобы сделать это понятнее?Это немного сбивает с толку.