asp.net - Linq to Entities - 向下钻取过滤器 (Asp.net)

标签 asp.net filter linq-to-entities three-tier drilldown

我一直在寻找一种在 linq 的实体集合上执行多个“where”过滤器的好方法。有很多网站在侧面使用过滤器进行搜索,例如 eBay。

所使用的技术称为“向下钻取”过滤器。现在,我正在尝试找到在使用 Linq-to-Entities 的 3 层模型中实现此技术的正确方法。

该技术使用早期使用的接收实体集合,并通过某种过滤器缩小范围,但即使在同一过滤“类别”内,也可以应用和删除多个过滤器。

希望有人为我找到正确的教程链接或如何正确使用它的方法。

最佳答案

根据我的经验,侧面的每个“过滤器”都映射到数据库中的一个字段。这使得过滤器变得简单:

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(),我已经在几个网络应用程序上使用了它,并取得了巨大的成功。当您想要的过滤器不直接映射到数据库中的字段时,这会变得有点棘手,但可以采用类似的方法。

关于asp.net - Linq to Entities - 向下钻取过滤器 (Asp.net),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6049409/

相关文章:

c# - 从 session 中的列表中删除特定项目

ms-access - 在 Access 子表单中选择一条记录

html - 如何在 3 列中使用过滤器( ionic )

javascript - ES6 : Filter data with case insensitive term

asp.net - 是否可以在asp.menu动态子菜单中删除白色背景并使其透明

javascript - 如何设置asp :textbox textmode=date ?的最小和最大日期?使用 JavaScript/jquery

asp.net - 元数据集合中不存在具有身份的成员。参数名称: identity

entity-framework - LINQ to Entities - 无法按顺序将 'System.DateTime' 转换为 'System.Object'

具有虚拟属性查询的 c# Entity Framework

linq - 如何处理LINQ中没有结果?