我在数据库中有以下数据。
01-001-A-02
01-001-A-01
01-001-B-01
01-002-A-01
01-003-A-01
从上方,我想按以下方式对数据进行排序:
01-001-A-01
01-001-A-02
01-001-B-01
...
我的查询如下
var l = _context.Locs.OrderBy(o => o.loc).Take(3);
//result of the Query
01-001-A-01
01-002-A-01
01-003-A-01
这是我的表结构
public class Location
{
[Key]
public int id { get; set; }
public string loc { get; set; }
public bool isEmpty { get; set; }
}
我正在使用Asp.Net Core 2.2, Code-First
方法。这不是计算出来的。
由'-'分割后,需要从右到左排序>>
LINQ
查询中我缺少什么?
我在数据库中有以下数据。 01-001-A-02 01-001-A-01 01-001-B-01 01-002-A-01 01-003-A-01从上面开始,我想对数据进行如下排序:01-001-A -01 01-001-A-02 01-001-B-01 ...我的查询如下var l ...
尚不清楚确切应该是什么排序,但是您应该知道可以使用ThenBy
实现的几层排序,例如:
您可以使用string[] data = new string[] {"01-001-A-02", "01-001-A-01", "01-001-B-01", "01-002-A-01", "01-003-A-01"};
var sorted = data.OrderBy(x => x).ThenBy(x=> x.Split('-')[3]);
方法按字符串的每个部分分别排序(由-
分割:]