2016-05-10 10 views
0

私はAzureのモバイルサービスのテーブルにアクセスしようとするたびに、私は次のエラーを取得する:値 "AAAAAAAAB9c ="を「System.Version」と入力するとエラーが発生します。パス「バージョン」

An exception of type 'Newtonsoft.Json.JsonSerializationException' occurred in mscorlib.ni.dll but was not handled in user code

Additional information: Error converting value "AAAAAAAAB9k=" to type 'System.Version'. Path 'version', line 19, position 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... 
} 
+1

「TodoItem」の定義は何ですか? –

+0

'TodoItem'クラスの' Version'プロパティに '[JsonIgnore]'を追加しようとしましたか? –

+0

私はこの定義を含む質問を編集しました。ありがとう! – RockAndaHardPlace

答えて

0

私は、この目的のためにSystem.Versionを使用して避けるだろう。 System.Versionは、このパターンに従ったソフトウェアリリースなどの数値バージョン値用です:w.x.y.z。あなたがそれに合わない文字列を受け取っているように見えますが、私はあなたに期待していません。

2

TodoItemコードが間違っています。それはのようなものでなければなりません:

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

[バージョン] Microsoft.WindowsAzure.MobileServices名前空間に配置されてVersionAttrbuteを参照します。

関連する問題