我使用的是SQLite-Net数据库,希望通过比较进行排序,如下所示:
var value1 = 10;
var items = connection.Table<Item>.OrderBy(i => i.Field1 > value1).ToArray();(注: value1和Field1都是整数)
这会引发异常:
System.NotSupportedException: Order不支持:i => i.Field1 > value1
作为解决办法,我现在将这个查询分为两部分:
然后将这些结果组合成一个结果。
是否有更好的方法使用SQLite-Net?来处理这个问题?
发布于 2013-08-15 21:24:29
我的第一个方法是:
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));但我终于接受了一个简单的查询:
var value1 = 10;
var items = connection
.Query<Item>(@"SELECT *
FROM [Item]
ORDER BY [Field1] > ? ASC", value1);https://stackoverflow.com/questions/18249138
复制相似问题