私はEntity Frameworkのコアを使用していて、生成されたクラスは、独自のプロパティを持っている、すなわちJSONオブジェクトのプロパティの順序を制御する方法はありますか?
DataModel.Agent.cs
public partial class Agent {
public virtual decimal Id
{
get;
set;
}
public virtual string Name
{
get;
set;
}
}
しかし、私は他のプロパティを必要とするので、私は別でそれらを宣言するファイル:
Agent.cs
public partial class Agent
{
[NotMapped]
public dynamic Custom { get; set; }
}
問題は、Agent.csがDataModel.Agent.csの前にコンパイルされているため、コンパイラがカスタム、ID、名前の順にプロパティを生成し、結果JSONが異常です。
私はそれが:Id、Name、Customであることを望みます。言い換えれば、私は常にDataModelクラスが最初に来たいと思っています。
EDIT:唯一の目的は、非常に一般的なパターンであるIdを常に最初に置くことでJSONをよりきれいにすることです。これは、アプリケーションの動作にはまったく影響しません。
コンパイラが最初にファイルの1つを最初にコンパイルするように強制する方法はありますか?
を使用すると、これが本当であれば、JSONのプロパティの順序は、上にカウントされることになっていません。 –
Jsonオブジェクトは辞書としてシリアライズされています。辞書キーに固有の順序はありません –
「結果のJSONは奇妙です」という意味はどうですか?オブジェクトはJSONの辞書としてシリアライズされ、固有の順序はありません。 ID、名前、カスタムを持つ辞書は、同じ値を持つID、カスタム、名前を持つ別のものと同等です* –