如何使用 ServiceStack OrmLite 选择表的计数

joe*_*dow 3 servicestack ormlite-servicestack

如何从表中选择计数并包含一个where子句来返回 a long?理想情况下我会使用db.Count而不是db.Select. 我只是不确定如何使用db.Count并且找不到相关文档。

long totalCount = 0;
using (IDbConnection db = dbFactory.OpenDbConnection())
{
    totalCount = db.Count<Content>( ?? );
}
Console.WriteLine(totalCount);
Run Code Online (Sandbox Code Playgroud)

Ada*_*ski 5

您在评论中回答了您的问题;)您应该使用带有表达式参数的计数扩展方法。下面的例子:

long amout  = db.Count<Post>(x => x.Subject == "test");
Run Code Online (Sandbox Code Playgroud)

OrmLite 生成以下 sql:

SELECT Count(*) FROM POST WHERE (SUBJECT = 'test')
Run Code Online (Sandbox Code Playgroud)