转换值时出错" AAAAAAAAB9c ="输入' System.Version'。路径'版本'

时间:2016-05-10 15:07:07

标签: c# azure json.net type-conversion azure-mobile-services

每当我尝试访问Azure Mobile Service表时,都会收到以下错误:

  

类型' Newtonsoft.Json.JsonSerializationException'的例外情况   发生在mscorlib.ni.dll但未在用户代码中处理

     

其他信息:转换值时出错" AAAAAAAAB9k ="输入   ' System.Version&#39 ;. Path' version',第19行,第27位。

这是发生此错误的行:

await App.MobileService.GetTable<TodoItem>().InsertAsync(todoItem);

我实际上并不需要表格中的版本值。 Azure会自动生成此值。有没有办法强制忽略版本值?

这是TodoItem的定义:

 public class TodoItem
    {
    public string Id { get; set; }
    public DateTime createdAt { get; set; }
    public DateTime updatedAt { get; set; }
    public Version version { get; set; }
    public bool deleted { get; set; }

    ... and so on...
}

2 个答案:

答案 0 :(得分:3)

您的TodoItem代码错误。它应该是这样的:

[Version]
public string Version {get; set;}

此处[Version]引用位于Microsoft.WindowsAzure.MobileServices名称空间中的VersionAttrbute。

答案 1 :(得分:0)

为了这个目的,我会避免使用System.VersionSystem.Version用于数字版本值,例如遵循此模式的软件版本:w.x.y.z。看起来你收到的字符串不适合它,我也不希望你这样做。