LINQ for EFを使用して、基本的なロジックに基づいて結果をフィルタリングするクエリを作成しようとしています。何らかの理由で、次のWhere()関数を実行して正しいパラメータを設定しても、Where()のフィルタ結果の代わりにすべてのデータが返されます。LINQ Lambda Where()が期待どおりにフィルタリングされていません
if()ステートメントが実際にWhere()が適切なときに実行できるようにするために、デバッグを実行しました。
私には何が欠けていますか?
var dbReports = db.SubmitReports;
if (Referee != String.Empty)
dbReports.Where(u => (u.Refree == Referee || u.Ar1Official == Referee || u.Ar2Official == Referee || u.FourthOfficial == Referee));
if (TeamName != String.Empty)
dbReports.Where(u => (u.HomeTeam == TeamName || u.VisitingTeam == TeamName));
if (PlayedOnStart != DateTime.MinValue && PlayedOnEnd != DateTime.MinValue)
dbReports.Where(u => (u.PlayedOn >= PlayedOnStart && u.PlayedOn <= PlayedOnEnd));
if (StateAssociation != String.Empty)
dbReports.Where(u => (u.StateAssociation == StateAssociation || u.StateAssociation2 == StateAssociation));
if (Division != String.Empty)
dbReports.Where(u => u.Division == Division);
if (ProfessionalLeague != String.Empty)
dbReports.Where(u => u.ProfessionalLeague == ProfessionalLeague);
if (AgeGroup != String.Empty)
dbReports.Where(u => u.AgeGroup == AgeGroup);
return dbReports.ToList();
ありがとうございます!それは働いた –