我怎样才能在 ORMLite 中进行自我加入

How can I do a self join in ORMLite

我正在尝试根据主管的主管获取特定工头的所有时间条目。但是,我似乎无法在 ORMLite 中编写自连接查询。请参阅下面我的数据结构和代码。

public class User
{
    [AutoIncrement]
    public int Id { get; set; }
    public string Name { get; set; }    
    [References(typeof(User))]
    public int SupervisorId { get; set; }
}
public class TimeSheet
{
    [AutoIncrement]
    public int Id { get; set; }       
    [References(typeof(User))]
    public int ForemanId { get; set; }
}

var query = db.From<TimeSheet>()
.Join<User>()
.Join<User, User>(); // not sure how to write this one.
// .Where(super => super.SupervisorId = 2)

我创建了一个 sample gist 来尝试更好地展示我的尝试。

var query = db.From<TimeSheet>()
   .Join<User>()
   .Join<User, User>((p, q) => p.Id == q.SupervisorId, db.JoinAlias("u2"));