我正在尝试根据主管的主管获取特定领班的所有时间条目。但是,我似乎在用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,以尝试更好地展示我的尝试。
答案 0 :(得分:1)
var query = db.From<TimeSheet>()
.Join<User>()
.Join<User, User>((p, q) => p.Id == q.SupervisorId, db.JoinAlias("u2"));