【发布时间】:2018-11-28 16:06:42
【问题描述】:
我想从包含 100 条记录的 SQLite 表中选择 20 条随机记录。
这是我的代码,我收到以下错误。 $exception {"Order By 不支持:x => NewGuid()"} System.NotSupportedException
int tempRun = 10;
var dbPath = Path.Combine("OPS.db");
using (var db = new SQLite.SQLiteConnection(dbPath))
{
var rec = db.Table<CoversData>().Where(p => p.homeR >= tempRun).Take(15);
var randomrec = db.Table<CoversData>().OrderBy(x => Guid.NewGuid()).Take(15);
// error {"Order By does not support: x => NewGuid()"} System.NotSupportedException
foreach (CoversData cd in rec)
{
ResultsListBox.Items.Add(cd.Id.ToString() + " " + cd.GameDate + " " + cd.HometeamName + " " + cd.homeR.ToString());
}
}
答案应该是使用 Linq 格式而不是 SQL Select 语句。
【问题讨论】:
-
请发布完整的异常信息。
-
db 是一个 SQLiteConnection - 你将如何订购一个连接实例?
-
你是说"var randomrec = db.Table
().OrderBy(x => Guid.NewGuid()).Take(15);" -
我更改了代码并发布了错误消息。