我正在努力解决我认为应该很简单的问题,我在 azure DB 中有一个数据库表,其中有一个名为“CreatedOn”的列,数据库中该列的数据类型是“DateTimeOffset”。
我的时区是 IST(+5:30),我正在尝试使用实体框架通过使用 JsonSerializer 的 RESTful WCF 服务填充此表中的值。
问题是当我通过 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 的情况下添加的。