C# 是否有方法根据所检查的值是否为null来添加或删除LINQ to DB查询的行?
如果我有这样一个问题:C# 是否有方法根据所检查的值是否为null来添加或删除LINQ to DB查询的行?,c#,linq,entity-framework,entity,C#,Linq,Entity Framework,Entity,如果我有这样一个问题: String Category = HttpContext.Current.Request.QueryString["Product"].ToString(); IQueryable<ItemFile> pressReleases = from file in connection.ItemFile where file.Type_ID ==
String Category = HttpContext.Current.Request.QueryString["Product"].ToString();
IQueryable<ItemFile> pressReleases = from file in connection.ItemFile
where file.Type_ID == 8
&& file.Category == Category
select file;
String Category=HttpContext.Current.Request.QueryString[“Product”].ToString();
IQueryable pressReleases=来自connection.ItemFile中的文件
其中file.Type_ID==8
&&file.Category==Category
选择文件;
是否有方法进行此LINQ查询,以便在类别为null或空时不使用行
file.Category==Category
?这可能不是您想要的结果,但将呈现相同的结果:
String Category = HttpContext.Current.Request.QueryString["Product"].ToString();
IQueryable<ItemFile> pressReleases = from file in connection.ItemFile
where file.Type_ID == 8
&& (string.IsNullOrEmpty(Category) || file.Category == Category)
select file;
String Category=HttpContext.Current.Request.QueryString[“Product”].ToString();
IQueryable pressReleases=来自connection.ItemFile中的文件
其中file.Type_ID==8
&&(string.IsNullOrEmpty(Category)| | file.Category==Category)
选择文件;
除非你需要,否则不要在哪里添加那个
IQueryable<ItemFile> pressReleases = from file in connection.ItemFile
where file.Type_ID == 8
select file;
if(!string.IsNullOrEmpty(Category)) {
pressReleases = pressReleases.Where(file => file.Category == Category);
}
IQueryable pressleases=来自connection.ItemFile中的文件
其中file.Type_ID==8
选择文件;
如果(!string.IsNullOrEmpty(类别)){
pressReleases=pressReleases.Where(file=>file.Category==Category);
}
这是因为LINQ查询可与延迟执行组合,所以此筛选器仍然是最终TSQL的一部分。Sani,我认为OP关注的是“Category”为null或空的位置,而不是file.Category。如果是这样,我认为您的解决方案将排除一些应该包括在内的项目。谢谢!我感谢你的帮助!