私はAzureをデータベースの最初のEFアプローチで使用しています。 Azure Webサービスのエンティティの1つは、次のように定義されています。JsonConverterとEntityData
public class Company : EntityData
{
public string CompanyName { get; set; }
}
EntityDataからIdプロパティを継承します。 Idプロパティはstring型です。
クライアントで、私は次のエンティティがあります:あなたは上記を参照することができたよう
class Company
{
[JsonConverter(typeof(IntConverter))]
public int Id { get; set; }
public string CompanyName { get; set; }
}
を、私はint型に文字列からIDを変換する必要があります。
class IntConverter : JsonConverter
{
public override bool CanConvert(Type objectType)
{
return true;
}
public override object ReadJson(JsonReader reader, Type objectType,
object existingValue, JsonSerializer serializer)
{
if (reader.Value == null)
return 0;
int num;
if (Int32.TryParse(reader.Value.ToString(), out num))
return num;
else
return 0;
}
public override void WriteJson(JsonWriter writer, object value,
JsonSerializer serializer)
{
serializer.Serialize(writer, value.ToString());
}
}
は、それが正常に動作していますが、これは私の最初のJSONコンバータですので、私はそれを正しく作成した場合、私はわからない:
私は、次のJSONコンバーターを作成しました。私はコンバータの例を見て、彼らはreader.Valueではなく、existingValueを使用しました。私の場合、existingValueは常に0です。
上記の実装は正しいですか?
'existingValue'は既存の値であり、' Company.Id'はプロパティやctorに直接割り当てられないので、常に0になります。 – Xiaoy312
このトピックは議論の対象外であると私は投票しています作業コードのレビューについてそれは[CodeReview](https://codereview.stackexchange.com/help/on-topic)に属します。 –
少なくとも私の質問を閉じる前に、私はDBCから大きな洞察を得ました。私はそれがトピックではないことに気づいていませんでした。あなたの助けにDBCにもう一度感謝します。 – ata6502