在用户界面中,有一个下拉列表,它为参数'field'取值。它可以是特定值,或者“全部”是默认值,其中需要检索与“字段”值无关的所有行。
如何在LINQ中编写Where子句,以便用户为field列提供值,然后将其用作过滤器,否则从DB获取所有行?
答案 0 :(得分: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();
}