У меня есть много-много отношений между моделью проекта и пользователем. Я пытаюсь отобразить все проекты, членом которых является зарегистрированный пользователь, но я не могу понять, как это правильно.
Модель пользователя
public class AppUser : IdentityUser
{
public ICollection<UserProject> UserProjects { get; set; }
}
Модель проекта
public class Project
{
public int ProjectId { get; set; }
public string ProjectName { get; set; }
public ICollection<UserProject> UserProjects { get; set; }
}
Модель UserProject
public class UserProject
{
public string UserId { get; set; }
public AppUser AppUser { get; set; }
public int ProjectId { get; set; }
public Project Project { get; set; }
}
Я пытался написать запрос в SQL, как это, но это не работает
AppUser user = await userManager.GetUserAsync(HttpContext.User);
var q = (from e in context.Projects
join t in context.UserProjects on e.ProjectId equals t.ProjectId
where t.UserId == user.Id
select e.ProjectName);
Мне удалось написать запрос, чтобы получить все проекты по идентификатору и всем его участникам, подобным этому
var project = context.Projects
.Where(x => x.ProjectId == id)
.Include(x => x.UserProjects)
.ThenInclude(x => x.AppUser)
.First();
Но мне не удается чтобы получить все проекты, в которых участвует пользователь. Я ценю любую помощь, которую могу получить, спасибо!