首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLite-Net:按ORDER子句使用比较

SQLite-Net:按ORDER子句使用比较
EN

Stack Overflow用户
提问于 2013-08-15 08:42:23
回答 1查看 217关注 0票数 0

我使用的是SQLite-Net数据库,希望通过比较进行排序,如下所示:

代码语言:javascript
复制
var value1 = 10;

var items = connection.Table<Item>.OrderBy(i => i.Field1 > value1).ToArray();

(注: value1和Field1都是整数)

这会引发异常:

System.NotSupportedException: Order不支持:i => i.Field1 > value1

作为解决办法,我现在将这个查询分为两部分:

  1. 选择Field1大于value1的项
  2. 选择Field1小于或等于value1的项

然后将这些结果组合成一个结果。

是否有更好的方法使用SQLite-Net?来处理这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-15 21:24:29

我的第一个方法是:

代码语言:javascript
复制
var value1 = 10;
var items = new List<Item>();
items.AddRange(connection.Table<Item>.Where(i => i.Field1 <= value1));
items.AddRange(connection.Table<Item>.Where(i => i.Field1 > value1));

但我终于接受了一个简单的查询:

代码语言:javascript
复制
var value1 = 10;
var items = connection
              .Query<Item>(@"SELECT * 
                             FROM [Item] 
                             ORDER BY [Field1] > ? ASC", value1);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18249138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档