我有一个用户表和一个消息表。Messages 表有两个对 Users 表的外键引用,“To_Id”和“From_Id”都指向 User.Id。我想编写一个查询,该查询将返回消息并允许我从由 To 和 From 关系表示的 User 获取 Username 属性。这是我到目前为止所拥有的:
dynamic sender;
dynamic recipient;
var messages= db.Messages.All(db.Messages.To_Id == currentUser.Id || db.Messages.From_Id == currentUser.Id)
.Join(db.Users.As("Sender"), out sender).On(sender.Id == db.Messages.From_Id)
.Join(db.Users.As("Recipient"), out recipient).On(recipient.Id == db.Messages.To_Id)
return messages;
此查询的结果为我提供了正确的消息计数,但 To_Id 和 From_Id 列消失了,Sender 和 Recipient 列名称也没有出现。我尝试查看文档、github 上的源代码和这里的问题:Simple.Data - how to bi-drectionally join on同一张桌子两次但没有任何成功。有任何想法吗?