我需要从 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__AnonymousType9
5[System.String,System.String,System.String,System.String,System.DateTime]]”,但此字典需要'System.Collections.Generic.IEnumerable`1[SeedSimple.Models.PrivateMessage]' 类型的模型项。
我想要的只是从表和接收者、主题、消息和表UserProfile
上的 sentDate获取用户名和名称PrivateMessage