6

以下のコメントアウトされた行では、PlatypusIdは赤/認識されていませんが、対応するテーブルには存在します。

queryResult、PlatypusIdへの複数行にまたがる割り当てでは、ここで、およびcountは赤/認識されません。

    //var queryResult = await conn.Table<PlatypiRequested>().CountAsync().(x => x.PlatypusId.Equals(personId));
    var queryResult = from p in PlatypiRequested
                      where p.PlatypusId.Equals(platypusId)
                      select count;

IOW、これを追加すると:

    var conn = new SQLiteAsyncConnection(SQLitePath);
    var queryResult = await conn.Table<PlatypiRequested>().CountAsync().(x => x.

...「x=>x」に続く可能性としては何も提供されません。

SQLiteテーブルをクエリするにはどのようなコードが必要ですか?

SQLite-netパッケージ/拡張機能を使用していますが、そのドキュメント(どのドキュメントですか?)は過度に冗長ではありません。SQLite.csとSQLiteAsync.csの両方を見ると、私は賢明ではありません...

アップデート

さて、ハーベイ氏の回答コメントは私をこの動作するコードに導きました(Count()は利用できず、CountAsync()だけでした):

public async Task<bool> PlatypusAlreadyAdded(string platypusId)
{
    var conn = new SQLiteAsyncConnection(SQLitePath);
    var queryResult = await conn.Table<PlatypiRequested>().Where(x => x.PlatypusId == platypusId).CountAsync();
    return queryResult > 0;
}

Jackie DeShannon(私とは関係ありません、AFAIK)が歌ったように、「世界が今必要としているのは、「C#WindowsStoreアプリ用のSQLite/ SQLite-net」」(または、少なくともすべての例を含む、長くて有益なブログ投稿)です。一般的なタイプのSQLステートメント(CRUD))。

4

1 に答える 1

6

あなたが本当に探しているのは次のようなものだと思います

var queryResult = await conn.Table<PeopleRequested>()
                            .Where(x => x.someField == someValue)
                            .CountAsync();  

.最後の演算子は、開き括弧やラムダ式ではなく、メソッド呼び出しを期待しているため、あなたの方法は機能しません。

于 2012-12-03T23:25:29.157 に答える