2
纯SQL(在源码)是这不会实现LINQ结果:条件订货通过价值SQL表达式中使用SQLite.Net-PCL
select * from Employees order by case WorkDay
WHEN 'MON' then 0
WHEN 'TUE' then 1
WHEN 'WED' then 2
WHEN 'THU' then 3
WHEN 'FRI' then 4 END
结果在SQL编辑器是好的和如预期
id| FullName | Department| WorkDay
7 Frank Bone C Block MON
8 Frank Bone D Block TUE
6 Frank Bone A Block FRI
9 Frank Bone E Block FRI
和使用C#代码SQLite.Net-PCL(通用Windows平台)
var rows =
conn.Query<Employees>("select * from Employees order by case WorkDay
WHEN 'MON' then 0
WHEN 'TUE' then 1
WHEN 'WED' then 2
WHEN 'THU' then 3
WHEN 'FRI' then 4 END").ToList();
//rows.ForEach(x => { listBox1.Add(x); }); rows appears in wrong/weird order in debug mode. this line not important and not the cause of wrong order.
行出现在一个卫rd /错误的顺序
我得到这个行的顺序错误。你知道这个奇怪的命令是什么原因吗?
id| FullName | Department| WorkDay
6 Frank Bone A Block FRI
7 Frank Bone C Block MON
9 Frank Bone E Block FRI
8 Frank Bone D Block TUE
额外注:表类的模型(?EF)
public class Employees
{
[PrimaryKey, AutoIncrement]
public int id { get; set; }
public string FullName { get; set; }
[Indexed]
public string Department { get; set; }
public string WorkDay { get; set; }
}
SQL编辑器抛出语法错误Pranay先生。在子查询之前的某处没有“in或from”?按照预期,我的问题中的sql代码在sqleditor中工作。但在C#代码隐藏顺序行结果成为错误orderomehow。 –
@KursatTurkay - 我更新的查询可以请你试试,我忘了包括END –
>在“select”附近:语法错误(我试图找到错误) –