gpt4 book ai didi

c# - 使用 LINQ 返回子对象

转载 作者:行者123 更新时间:2023-11-30 15:52:06 25 4
gpt4 key购买 nike

我正在学习 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; }
}

我有以下 View 模型:

    public class DeleteUserFromProjectViewModel
{
public IQueryable<AppUser> Users { get; set; }
public PagingInfo PagingInfo { get; set; }
}

在我的 Controller 中,我尝试为我的 ViewModel 填充 Users:

                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()
}

};

我已经试过了

                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);
}
}

最佳答案

因为你的 pm.AppUserID 已经是一个字符串值,如果你在上面使用 foreach 你会迭代字符串值然后你会得到 char

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

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

关于c# - 使用 LINQ 返回子对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55348138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com