我正在學習 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();
- 1 回答
- 0 關注
- 155 瀏覽
添加回答
舉報
0/150
提交
取消
