【发布时间】:2019-03-09 12:13:59
【问题描述】:
如何使用实体的代码优先方法将连接表数据映射到模型?我想在获取聊天消息时获取属于聊天消息的用户信息。我收到了错误
无法将 linq.iqueryable 输入到 collections.generic.list
但我无法 ToList() 我的 iqueryable。
List<Models.ChatMessageModel> list = from dbModel in db.ChatMessages
join a in db.Users on dbModel.UserId equals a.UserId
select new Models.ChatMessageModel
{
User = new Models.UserModel
{
UserId = dbModel.UserId,
UserName = a.UserName
},
UserId = a.UserId,
DateSent = dbModel.DateSent,
ChatMessage = dbModel.ChatMessage,
ChatMessageId = dbModel.ChatMessageId
};
聊天消息模型
public class ChatMessageModel
{
[Key]
public Guid ChatMessageId { get; set; }
public virtual Guid UserId { get; set; }
[ForeignKey("UserId")]
public virtual UserModel User { get; set; }
public string ChatMessage { get; set; }
public DateTime DateSent { get; set; }
}
【问题讨论】:
-
您能提供更多信息吗?您的 DbContext 看起来如何?您想更准确地实现什么目标?
-
@Donio Teixeira,您当前的代码有什么问题?
-
我用聊天消息模型更新了帖子。当我获取所有聊天消息时,我想获取属于聊天消息的用户信息,但我不太确定如何首先使用代码。
-
@TanvirArjel 我收到错误“无法将 linq.iqueryable 输入到 collections.generic.list 但我无法 ToList() 我的 iqueryable。
-
Convert IQueryable<> type object to List<T> type? 的可能重复项。只要搜索它之前已经回答过。
标签: c# asp.net-mvc ef-code-first-mapping