在下面注释掉的行中,PlatypusId 为红色/无法识别,尽管它确实存在于相应的表中。
在对 queryResult、PlatypusId、where 和 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,我一点也不聪明……
更新
好的,Harvey 先生的回答评论让我看到了这个工作代码(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# Windows Store 应用程序的 SQLite/SQLite-net”一书(或者至少是一篇冗长/内容丰富的博客文章,其中包含所有示例常见的 SQL 语句类型 (CRUD))。