【发布时间】:2013-01-27 02:02:46
【问题描述】:
我有一个用户表和一个消息表。 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 the same table twice,但没有任何成功。有什么想法吗?
【问题讨论】:
标签: c# asp.net-mvc join simple.data