我一直在寻找一种在 linq 的实体集合上执行多个“where”过滤器的好方法。有很多网站在侧面使用过滤器进行搜索,例如 ebay。
使用的技术称为“向下钻取”过滤器。现在,我正在尝试在我的 3 层模型中使用 Linq-to-Entities 找到实现此技术的正确方法。
该技术使用较早使用的接收实体集合并使用某种过滤器将其缩小,但是即使在相同的过滤“类别”中也可以应用和删除多个过滤器。
希望有人找到我正确的教程链接或如何以正确的方式使用它的方法。
我一直在寻找一种在 linq 的实体集合上执行多个“where”过滤器的好方法。有很多网站在侧面使用过滤器进行搜索,例如 ebay。
使用的技术称为“向下钻取”过滤器。现在,我正在尝试在我的 3 层模型中使用 Linq-to-Entities 找到实现此技术的正确方法。
该技术使用较早使用的接收实体集合并使用某种过滤器将其缩小,但是即使在相同的过滤“类别”中也可以应用和删除多个过滤器。
希望有人找到我正确的教程链接或如何以正确的方式使用它的方法。
根据我的经验,侧面的每个“过滤器”都映射到数据库中的一个字段。这使得过滤器变得简单:
var result = db.Table
.Where(t => t.Name.Contains(ddlName.Text))
.Where(t => t.Attribute1.Contains(Attribute1.Text));
.Where(t => t.Attribute2.Contains(Attribute2.Text));
显然,您可以.Equals()
在有意义的地方进行替换,我已经在几个 web 应用程序上使用它并取得了巨大的成功。当您想要的过滤器不直接映射到数据库中的字段时,这变得有点棘手,但可以采用类似的方法。