为了账号安全,请及时绑定邮箱和手机立即绑定

使用 LINQ 返回子对象

使用 LINQ 返回子对象

C#
慕雪6442864 2022-11-13 13:45:17
我正在学习 EF Core 和 LINQ 中的多对多联合表。我有以下模型:    public class ProjectManager    {        public int ProjectID { get; set; }        public Project Project { get; set; }        public string AppUserID { get; set; }        public AppUser AppUser { get; set; }    }我有以下视图模型:    public class DeleteUserFromProjectViewModel    {        public IQueryable<AppUser> Users { get; set; }        public PagingInfo PagingInfo { get; set; }    }在我的控制器中,我尝试Users为我的 ViewModel 填充:                DeleteUserFromProjectViewModel model = new DeleteUserFromProjectViewModel                {                    //HOW DO I RETURN JUST THE APPUSERS FROM THE PROJECT MANAGER OBJECT?                    //Users = repository.ProjectManagers.Any(p => p.ProjectID == projectId).Select;                    PagingInfo = new PagingInfo                    {                        CurrentPage = page,                        ItemsPerPage = PageSize,                        TotalItems = proj.ProjectManagers.Count()                    }                };我试过kludge                List<AppUser> userList = new List<AppUser>();                foreach(ProjectManager pm in proj.ProjectManagers)                {                    //this gives error that cannot convert string userId to char??                    foreach (string userId in pm.AppUserID)                    {                        AppUser newUser = await userManager.FindByIdAsync(userId);                        userList.Add(newUser);                    }                }
查看完整描述

1 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

因为你pm.AppUserID已经是一个字符串值,如果你foreach在它上面使用你将迭代字符串值,那么你将得到char

从您的评论来看,您似乎可以使用 linq Select

List<AppUser> userList = proj.ProjectManagers.Select(x=>x.AppUser).ToList();


查看完整回答
反对 回复 2022-11-13
  • 1 回答
  • 0 关注
  • 104 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信