using (IDbConnection db = dbFactory.OpenDbConnection()) {
List<long> x = db.SelectLazy<long>(
"SELECT Id FROM MyTable").ToList();
}
为什么x null?
当我使用Select而不是SelectLazy时,或者当我在整行上使用SelectLazy而不仅仅是Id时,它会起作用。
答案 0 :(得分:2)
在OrmLite中,您使用不同的API来匹配您之后的结果,例如:
Select*
API返回List<MyTable>
Column*
API用于返回一列字段值,例如List<long>
Single*
用于返回单行的API,例如Table
Scalar*
API用于返回单个字段值,例如long
因此,要选择一列作为您使用db.Column
的字段列表,例如:
var results = db.Column<long>(db.From<MyTable>().Select(x => x.Id));
这些还具有Raw Sql*
等价物,例如:
var results = db.SqlColumn<long>("SELECT Id FROM MyTable");