Я пишу. NET Core 3.1 Client для службы WCF. Я сгенерировал клиента с помощью svcutil. Все члены в reference.cs имеют следующий атрибут:
[System.Xml.Serialization.XmlElementAttribute("property.name", IsNullable = true, Order = 0)]
Некоторые элементы не должны быть сериализованы в сообщении, когда они имеют нулевое значение, т. Е .: в настоящее время включены все элементы:
<criteria>
<criteria1 xsi:nil="true"/>
<criteria2>1</criteria2>
<criteria3 xsi:nil="true"/>
</criteria>
Желаемый результат:
<criteria>
<criteria2>1</criteria2>
</criteria>
In. Net Framework Мне удалось добавить атрибут [DataMember (EmitDefaultValue = false)], чтобы получить правильное поведение, это не поддерживается в. NET ядро.