动态在 linq 中的位置,在操作中使用列表参数 asp.net mvc

乌萨马·沙希德

我正在一个显示产品列表的屏幕上工作,但是当用户单击不同的复选框时,我在操作参数中获得了选中复选框的值。这是我的屏幕。

产品画面

现在我想在不同的项目选择上动态请求查询。

   public async Task<IEnumerable<Product>> GetSpecificProducts
        (List<int> brands, List<int> categories, List<int> sugar)
    {
        var products = await _context.Products
            .Where(x => x.BrandId == ???)
            .Where(x => x.CategoryId == ???)
            .Where(x => x.Sugar == ???)
            .ToListAsync();
    }`

我已经查看了一些 stackoverflow 问题,但我只是在像here这样的单个值的情况下得到结果如何在多个 where 子句上生成动态 linq。

未找到代码

您只需要检查每个集合是否为空,然后再将其包含为查询的过滤器,如下所示:

public async Task<IEnumerable<Product>> GetSpecificProducts 
     (List<int> brands, List<int> categories, bool? sugar)
{
    IQueryable<Product> query = _context.Products;

    if(brands != null && brands.Any()) 
        query = query.Where(x => brands.Contains(x.BrandId));

    if(categories != null && categories.Any()) 
        query = query.Where(x => categories.Contains(x.CategoryId));

    if(sugar.HasValue) 
        query = query.Where(x => x.Sugar == sugar);

    var products = await query.ToListAsync();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

具有动态输入参数的ASP.NET MVC动作

来自分类Dev

Asp.Net Mvc中动态数据的替代方法

来自分类Dev

ASP.NET MVC动态参数

来自分类Dev

如何在asp.net mvc中使用Linq从数据库中删除多个记录

来自分类Dev

如何在linq asp.net mvc 5中具有动态where条件?

来自分类Dev

在ASP.NET MVC 5中动态添加元数据

来自分类Dev

如何使用ASP.Net MVC动态设置所需字段?

来自分类Dev

在asp.net 5 MVC 6中使用Linq to SQL

来自分类Dev

在ASP.NET MVC中使用SQL查询到LINQ

来自分类Dev

在ASP .NET MVC 5中动态更改LAYOUT或STYLESHEET

来自分类Dev

在ASP.NET MVC和LINQ中执行存储过程

来自分类Dev

ASP.NET MVC中的动态路由操作名称

来自分类Dev

ASP.NET MVC中的问题ViewModel和LINQ查询

来自分类Dev

带有动态参数的LINQ查询并执行Count操作ASP.NET Core 3.1

来自分类Dev

在ASP .NET MVC中动态添加部分控件

来自分类Dev

在ASP.NET MVC中动态更改模型的类型

来自分类Dev

Asp.Net Mvc中动态数据的替代方法

来自分类Dev

ASP.NET MVC控制器语法中的Linq

来自分类Dev

Asp.net MVC动态设置TextArea

来自分类Dev

访问ASP.net MVC中动态添加的HTML控件

来自分类Dev

在LINQ MVC ASP.NET所在的位置舍入值

来自分类Dev

ASP.NET MVC LINQ分组

来自分类Dev

在ASP.NET MVC4中动态创建控件

来自分类Dev

我如何在linq asp.net mvc 5中具有动态where条件?

来自分类Dev

在ASP.NET MVC中使用jQuery生成动态ID

来自分类Dev

使用Linq从模型ASP.NET MVC获取价值

来自分类Dev

在 linq MVC 中的动态位置

来自分类Dev

Asp.NET MVC中与Linq的数组比较

来自分类Dev

如何在 asp.net MVC 中使用 Linq、C# 访问连接表中的列