实体框架:对链接的实体进行排序

时间:2015-02-22 14:11:50

标签: c# .net linq entity-framework entity-framework-6

给定以下实体类,它表示项目的链接列表中的项目,我们如何使用LINQ这些项目(按NextItemId定义的顺序)进行排序,以便将查询转换为SQL和在数据库端完成?

public class Item
{
    public virtual int Id { get; set; }
    public virtual string Title { get; set; } 

    public virtual int? NextItemId { get; set; }
    public virtual Item NextItem { get; set; }

}

1 个答案:

答案 0 :(得分:0)

我不认为这是可能的。在我的系统中,我需要实现与此类似的功能,我使用索引varchar字段来保持项目的完整路径,如

Id     NextItemId     ItemPath
1      2              /1
2      9              /1/2
9      13             /1/2/9

这样您就可以使用where ItemPath.StartsWith()进行查询并使用索引。