如何在 Linq2DB 中对 child 列表进行排序?
How to sort a child list in Linq2DB?
我有一个 table,其中每一行都拥有来自另一个 table 的一组行,使用 LinqToDB.Mapping
类。
[Table(Name = "SECTORS")]
public partial class Sector
{
[Column(Name="ID"), NotNull, PrimaryKey]
public int Id { get; set; }
[Column(Name = "NAME"), NotNull]
public string Name { get; set; }
[Association(ThisKey = nameof(Id), OtherKey = nameof(SubSector.SectorId))]
public List<SubSector> Subsectors { get; set; }
}
[Table(Name = "SUBSECTORS")]
public partial class SubSector : Sector
{
[Column(Name = "SECTORID"), NotNull]
public int SectorId { get; set; }
}
我已经弄明白如何在加载 parent objects 列表时使用关联 header 自动加载所有 child objects .
var query = from s in Sectors.LoadWith(s => s.Subsectors)
orderby s.Name
select s;
如何设置 Subsectors
列表的排序顺序?
我可以稍后排序,但是由数据库完成排序就更好了。
似乎没有关联属性的 属性,添加到 orderby
行将对 parent objects 进行排序(如果它甚至起作用了)。
LoadWith
在其主体中支持一组 LINQ 运算符。所以只需添加 OrderBy
.
var query =
from s in Sectors.LoadWith(s => s.Subsectors.OrderBy(x => x.SectorId))
orderby s.Name
select s;
我有一个 table,其中每一行都拥有来自另一个 table 的一组行,使用 LinqToDB.Mapping
类。
[Table(Name = "SECTORS")]
public partial class Sector
{
[Column(Name="ID"), NotNull, PrimaryKey]
public int Id { get; set; }
[Column(Name = "NAME"), NotNull]
public string Name { get; set; }
[Association(ThisKey = nameof(Id), OtherKey = nameof(SubSector.SectorId))]
public List<SubSector> Subsectors { get; set; }
}
[Table(Name = "SUBSECTORS")]
public partial class SubSector : Sector
{
[Column(Name = "SECTORID"), NotNull]
public int SectorId { get; set; }
}
我已经弄明白如何在加载 parent objects 列表时使用关联 header 自动加载所有 child objects .
var query = from s in Sectors.LoadWith(s => s.Subsectors)
orderby s.Name
select s;
如何设置 Subsectors
列表的排序顺序?
我可以稍后排序,但是由数据库完成排序就更好了。
似乎没有关联属性的 属性,添加到 orderby
行将对 parent objects 进行排序(如果它甚至起作用了)。
LoadWith
在其主体中支持一组 LINQ 运算符。所以只需添加 OrderBy
.
var query =
from s in Sectors.LoadWith(s => s.Subsectors.OrderBy(x => x.SectorId))
orderby s.Name
select s;