「CreatedOn」という列を持つAzure DBにデータベーステーブルがあり、データベースのこの列のデータ型は「DateTimeOffset」です。
私のタイムゾーンは IST(+5:30) です。JsonSerializer を使用して RESTful WCF サービスを介して Entity Framework を使用して、このテーブルに値を設定しようとしています。
問題は、Windows Phone アプリを介してサービスを呼び出すときに、オフセット値がデータベース内に入らないことです。
プロパティは次のように宣言されます。
/// <summary>
/// Gets or sets the created on.
/// </summary>
[DataMember]
public DateTimeOffset? CreatedOn
{
get
{
return DateTime.Now;
}
set
{
this.OnPropertyChanged("CreatedOn");
}
}
クラスは、既知の型を通じて「DateTimeOffset」を認識します。
[KnownType(typeof(DateTimeOffset?))]
[DataContract]
public class MyTableItem : TableBase
オブジェクトの作成時に、次のすべてを試しました
tableItem.CreatedOn = DateTime.Now;
tableItem.CreatedOn = DateTime.UtcNow;
tableItem.CreatedOn = DateTime.SpecifyKind(DateTime.Now,DateTimeKind.Utc)
私が得るものは下の画像に示されています。オフセットは常に 00:00 で、正しい値を示しているものは、azure WCF を使用せずに追加されます。
画像の URL はhttp://sdrv.ms/18Kz3HTです