2017-06-13 11 views
0

ローカルでデータを格納するためにSQLite dbを使用し、オフライン同期機能を有効にするためにAzure Mobile App Backendを使用するUWPアプリケーションを構築しています。 documentationに従って、自分のアプリでオフライン同期を有効にしています。 は、今私は、私は簡単にこのAzure Mobileアプリケーションのオフライン同期:LINQを使用したIMobileServiceSyncTableの操作

todoTable.Where(item => item.Completed == true).Count() 

のような何かをするLINQを使用することができ、特定の条件 通常に応じて、テーブルに私の行数を返しますクエリを実行したいが、IMobileServiceSyncTableで作業しながら、私はないです、DistinctFirstOrDefaultなどのLINQメソッドや拡張子を取得することは、IMobileServiceSyncTableによって提供されるメソッド/プロパティのセットです。

enter image description here

は、誰かがこれを達成することができる方法で私を導いてくださいすることができない場合、私は、ここで何かをしないのです。

以下はコードスニペットです。私はCount()に次のエラーを取得するしかし

IMobileServiceSyncTable<Image> entitySyncTable = AzureBackendService.MobileServiceClient.GetSyncTable<Image>(); 
int count = entitySyncTable.Where(i => i.Title.Contains("sometext")).Count(); 

:私は、画像の数、画像のタイトルマッチ「sometext」を取得しようとしています

「IMobileServiceTableQuery」カウント」の定義が含まれていません。 'となし拡張メソッド 『』タイプの最初の引数を受け入れる 『カウントIMobileServiceTableQuery』が見つかりませんでした(あなたがusingディレクティブまたはアセンブリ参照が不足している?)

+0

シンクテーブルを使用してクエリを作成するコードスニペットを追加できますか?ありがとうございました – woelliJ

+0

@woelliJがコードスニペットを追加しました。 –

答えて

1

はい、IMobileServiceSyncTableIMobileServiceTableQueryはLINQ拡張をサポートしていません。主な機能はWhereToListAsyncです。

LINQクエリを使用する場合は、IQueryable<T>インターフェイスを公開するIMobileServiceTableQuery<T>.Queryプロパティを使用できます。

    :私は個人的に、あなたがその照会可能に直接 FirstOrDefaultまたは ToListを呼び出すことができるかどうかわからないですか、あなたが行く必要が戻って IMobileServiceTableQuery<T>

    に、ために設計されているようだシナリオがあることを試していません

  • ユーザ項目はサーバ上ですでにフィルタリングされてユーザのアイテムのみを返すようなユーザ固有のアイテムです。定期的に更新されることができ、最終的には価値を失うことになると、アプリがローカルサーバーのデータの多くを持っている必要があり、地元のフィルタリングの多くを行うために必要がある場合

パージすることができ、すべてのユーザーのための

  • 一時データも技術/設計が間違っている可能性があります。

  • +0

    私は次のコードを試しました: 'IMobileServiceTableQuery query = entitySyncTable.CreateQuery()。ここで(i => i.Title.Contains(" sometext "))。Count();' 'Query'が' CreateQuery() 'の後に' LINQ' –

    +0

    を公開しないように 'Query'プロパティを取得し、そこでLINQを試してみるのと同じ問題があります。私はそれがうまくいくかどうかはわかりません。現在の 'Where'節がうまくいかない場合、' string.Contains'がSQLiteストレージで実装されていないので、 – woelliJ

    +0

    は同じ問題を試みました。 –

    関連する問題