在下面的注释掉的行中,PlatypusId为红色/无法识别,但它确实存在于相应的表格中。
在对queryResult,PlatypusId,其中和计数为红色/无法识别的多行跨越分配中。
//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 =&gt; 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)唱道,“现在世界需要的是一个”SQLite / SQLite-net for C#Windows Store apps“”book(或者至少是一篇冗长/内容丰富的博文,包含所有常见类型的SQL语句(CRUD)的示例。
答案 0 :(得分:6)
我认为你真正想要的是
var queryResult = await conn.Table<PeopleRequested>()
.Where(x => x.someField == someValue)
.CountAsync();
你的方式不会起作用,因为最后一个.
运算符需要一个方法调用,而不是一个左括号或lambda表达式。