繁体   English   中英

如何构建以下动态LINQ to Entities WHERE子句?

[英]How do I build the following dynamic LINQ to Entities WHERE clause?

我需要在LINQ to Entities中模仿这个:

WHERE 
(title = 'title1' AND episodetitle = 'episodetitle1')
OR
(title = 'title2' AND episodetitle = 'episodetitle2')

我试过这个:

if (title1 != null && episodeTitle1 != null)
{
      query = query.Where(s => s.Title.Contains(title1)).Where(z => z.EpisodeTitle.Contains(episodeTitle1));
}

if (title2 != null && episodeTitle2 != null)
{
      query = query.Where(s => s.Title.Contains(title2)).Where(z => z.EpisodeTitle.Contains(episodeTitle2));
}

但它给了我这个:

([Extent1].[Title] LIKE @p__linq__0 ESCAPE '~') AND ([Extent1].[EpisodeTitle] LIKE @p__linq__1 ESCAPE '~') 
**AND**
 ([Extent1].[Title] LIKE @p__linq__2 ESCAPE '~') AND ([Extent1].[EpisodeTitle] LIKE @p__linq__3 ESCAPE '~')}

我需要将上面的AND更改为OR。

我该怎么做呢?

在一个查询中连接它

query.Where(
s => (
( title1!=null && episodeTitle1!=null && s.Title.Contains(title1) && s.EpisodeTitle.Contains(episodeTitle1) )
||
( title2!=null && episodeTitle2!=null && s .Title.Contains(title2) && s.EpisodeTitle.Contains(episodeTitle2) )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM