Dynamic 类型化数据集中where子句的动态参数是否可能?

Dynamic 类型化数据集中where子句的动态参数是否可能?,dynamic,data-access-layer,where-clause,Dynamic,Data Access Layer,Where Clause,普通的ASP.NET表格适配器适用于简单的where子句,例如-where city=@city和state=@state和zip=@zip 但我如何设计一个DAL,允许我使用任何参数组合——仅按城市搜索、按zip和州搜索、按城市和州搜索……或者更复杂的按zip搜索,但如果@zip为空,则按城市搜索 我如何设计一个DAL来支持这种动态的where条件?带表适配器的类型化数据集是最好的方法吗?目前,我只是对普通数据集使用动态SQL查询,并尝试将其转换为某种强类型DAL。我觉得您可能想查看动态LIN

普通的ASP.NET表格适配器适用于简单的where子句,例如-where city=@city和state=@state和zip=@zip

但我如何设计一个DAL,允许我使用任何参数组合——仅按城市搜索、按zip和州搜索、按城市和州搜索……或者更复杂的按zip搜索,但如果@zip为空,则按城市搜索


我如何设计一个DAL来支持这种动态的where条件?带表适配器的类型化数据集是最好的方法吗?目前,我只是对普通数据集使用动态SQL查询,并尝试将其转换为某种强类型DAL。

我觉得您可能想查看动态LINQ。当这种动态条件存在时,它可能会有所帮助。我发现代码示例非常有用

嗯,,
Sid

谢谢Sid,我有点担心用LINQ做所有DAL的事情,以防MS后来决定完全/部分杀死LINQ。但是,无论LINQ留下还是离开,是否有其他方法来设计DAL来解决这个动态where子句问题?阿基里斯,我想到了两个可能的想法。首先,不是很干净,是创建存储过程来使用zip、city或state或多个parm从表中选择数据。然后,在表示层中,创建一个使用dropdownlist和文本框的控件,dropdownlist允许用户选择要搜索的字段-城市、州或zip。社论从这里开始:我觉得LINQtoADO.NET实体在短期内不会有任何进展。我在当前的项目中使用L2E,但我不想使用LINQtoSQL,因为我确实觉得它将被淘汰。