シリアル化しようとしているオブジェクトがあります。null になることがあるプロパティが 1 つあります。これが問題を引き起こしています。
問題は、XML メッセージを見てオブジェクトがシリアル化されると、次の行が表示されることです。
<CostAmount d3p1:nil="true" xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance" />
私が望むのは、タグ CostAmount がメッセージにまったく含まれないようにすることです。
c# xml serialization does not write nullの例を試してみましたが、うまくいきませんでした。
編集
以下は、上記のプロパティです。これは部分クラスであることに注意してください。この部分クラスは自分で作成しました。エンティティ フレームワークは、他の部分クラスを作成しました。エンティティ フレームワークが get & set を自動生成するという問題が発生していることがわかります。
[XmlElement("dfCostAmount")]
public Double? CostAmount;
[XmlIgnore]
public bool CostAmountSpecified
{
get
{
return (CostAmount != null & CostAmount.HasValue);
}
}