
前提
Visual Studio2019 Community
ASP.NET Core MVC
.NET 5.0
初学者です。上記の開発環境で日報アプリを作成しています。
以下のようなテーブル構成です。
DBから取得した日報リストの絞り込み方法が分からないため、ご助言頂ければと思い、質問させていただきます。
実現したいこと
コントローラーにgroupIDが渡されているとき、グループに紐づけられたメンバーの日報を取得したいです。
ReportViewController/Index
1public async Task<IActionResult> Index(int? groupID ) 2{ 3 var reports = _context.Reports; //groupID 4 if(groupID!=null){ 5 var group = _context.Groups.FindAsync(groupID); 6 //groupIDから紐づけたユーザーの絞り込み処理 7 } 8 reports.AsQueryable(); 9 10 return View(); 11}
※using、コンストラクタなど、質問に直接関係のない箇所は省略しています。
試したこと
上記ユーザーの絞り込み処理の箇所に、以下のように書いたのですが、絞り込めていません。
reports.Where(s=>s.ReportUser.Members == group.Members);
補足情報
各テーブル(Model)を載せておきます。
Report.cs
1//日報テーブル 2public class Report 3 { 4 public int ReportID { get; set; } 5 6 public string ReportUserId { get; set; } 7 public ReportUser ReportUser { get; set; } 8 9 public bool IsSubmit { get; set; } 10 }
ReportUser.cs
1//ユーザーテーブル 2public class ReportUser:IdentityUser 3 { 4 public string Name { get; set; } 5 6 public ICollection<Report> Reports { get; set; } 7 public ICollection<Member> Members { get; set; } 8 }
Member.cs
1//メンバーテーブル 2public class Member 3 { 4 public int MemberID { get; set; } 5 6 public int GroupID { get; set; } 7 public Group Group { get; set; } 8 9 public string ReportUserId { get; set; } 10 public ReportUser ReportUser { get; set; } 11 }
Group.cs
1//グループテーブル 2public class Group 3 { 4 public int GroupID { get; set; } 5 6 public int CompanyID { get; set; } 7 public Company Company { get; set; } 8 9 public string GroupName { get; set; } 10 11 public ICollection<Member> Members { get; set; } 12 }
不足している情報があれば、追記しますので、よろしくお願い致します。






回答1件
あなたの回答
tips
プレビュー