【发布时间】:2013-05-11 13:01:44
【问题描述】:
我需要从 2 个表中查询数据
public class UserProfile
{
public int UserId { get; set; }
public string UserName { get; set; }
public string Name { get; set; }
}
和
public class PrivateMessage
{
public int MessageId { get; set; }
public string Sender { get; set; }
public string Receiver { get; set; }
public string Subject { get; set; }
public string Message { get; set; }
private DateTime _date = DateTime.Now;
public DateTime sentDate { get { return _date; } set { _date = value; } }
}
这就是我在我的控制器上尝试过的
public ActionResult Index()
{
var x = User.Identity.Name;
var query = from p in db.PrivateMessages
join u in db.UserProfiles on p.Sender equals u.UserName
where p.Receiver == x
select new
{
u.UserName,
u.Name,
p.Receiver,
p.Subject,
p.Message,
p.sentDate
};
return View(query);
}
这是我的视图模型
@model IEnumerable<SeedSimple.Models.PrivateMessage>
但我得到了这个错误
传入字典的模型项是类型 'System.Data.Entity.Infrastructure.DbQuery
1[<>f__AnonymousType95[System.String,System.String,System.String,System.String,System.DateTime]]', 但是这本字典需要一个类型的模型项 'System.Collections.Generic.IEnumerable`1[SeedSimple.Models.PrivateMessage]'。
我想要的只是从UserProfile 表中获取用户名和名称,以及PrivateMessage 表上的接收者、主题、消息和 sentDate
【问题讨论】:
标签: asp.net