2017-01-27 12 views
0

I持って、すでにいくつかのプロパティを持つUser.csと呼ばれるモデルクラス:Azureのモバイルアプリをネットクライアントは、デフォルト値で新しい列を追加

[JsonProperty(PropertyName = "admin")] 
public bool Admin { get; set; } 

[JsonProperty(PropertyName = "email")] 
public string Email { get; set; } 

これは私のsqliteデータベース内の列の管理者と電子メールを提供します。 今、私は自分のアプリをアップデートしています。私はUser.csにこれを追加すると、sqliteのファイルが所有者と呼ばれる新しい列を取得します

[JsonProperty(PropertyName = "owner")] 
public bool Owner { get; set; } 

:私は、新しいプロパティを追加するため、新しい列にしたいです。 sqliteファイルのUserテーブルの既存の行はすべて、この新しい列に対してNULL値を取得します。

私の質問:既存の行に値0(偽)を与えることはできますか?

答えて

0

要件に応じて、できることはいくつかあります。最も明白である:

  • 更新サーバー上のモデルが所有者フィールド、
  • 更新デフォルト値を使用してデータベースを追加します。
  • (更新後)クライアントの最初の実行で
  • 、SQLiteデータベースと再同期するすべてのデータ
  • サーバがすでにbool型の所有者フィールドを持つ
+0

を拭いてください。ただし、クライアントがowner = NULLのユーザーをプッシュしようとすると、例外がスローされます。私のアプリの最初のバージョンでは同期が無効になっているため、サーバー上にはデータがないので、再同期はできません。あなたの2番目のアイデアは私が今やっていることです。しかし、それは最もエレガントなソリューションではありません。私はすべてのユーザーに問い合わせており、foreachで結果をループします。ループでは、userTable.UpdateAsync(user)を呼び出すので、テーブルの値はfalseになります。しかし、より洗練されたソリューションがあるかもしれません。 – user2415476

+0

ここには「第2のアイデア」はありません。それはすべてです。あなたは3つのすべての項目を行う必要があります。 –

関連する問題