我需要构建的查询是这样的:
query = query.Where(s =>
(
(s.Title.Contains(title1) && s.EpisodeTitle.Contains(episodeTitle1))
||
(s.Title.Contains(title2) && s.EpisodeTitle.Contains(episodeTitle2)))
);
唯一的问题是,s.Title 和 s.EpisodeTitle 是动态的。
这意味着以下变量可能是查询的一部分:
(string title1 = null,
string title2 = null,
string episodeTitle1 = null,
string episodeTitle2 = null,
string genre = null,
string directorName = null,
string releaseYear = null,
string seasonEpisode = null,
string showTypeDescription = null)
例如
query = query.Where(s =>
(
(s.DirectorName.Contains(directorName) && s.ShowTypeDescription.Contains(ShowTypeDescription))
||
(s.releaseYear.Contains(releaseYear) && s.genre.Contains(genre)))
);
在任何类型的组合中。
我怎样才能构造这个查询而不必考虑这里的每一种可能性?