0

在 UI 中,有一个为参数“字段”取值的下拉菜单。它可以是一个特定的值,或者“全部”是默认值,其中需要检索所有行而不考虑“字段”值。

如何在 LINQ 中编写 Where 子句,以便如果用户为字段列提供值,则将其用作过滤器,否则从数据库中获取所有行?

4

1 回答 1

2

您可以将IQueryable<T>其用作 LINQ 查询的基础并附加到您需要的所有内容:

例子:

        string userInput = "";
        using (var context = new EntityModel())
        {
            IQueryable<MyEntity> query = context.MyEntities;

            if (!String.IsNullOrWhiteSpace(userInput))
                query = query.Where(x => x.MyFilterableProperty == userInput);

            return query.ToList();
        }
于 2012-12-14T18:21:14.097 回答