【发布时间】:2012-03-20 17:43:13
【问题描述】:
我想重构一个逻辑来过滤我的应用程序的网格。我只想在数据库中实现这个逻辑。
所以,我有一个网格,它显示来自数据库的更多表中的数据。有一些 textBoxes 和 comboBoxes 为它想要的每个过滤器设置数据。
现在,它是数据库中的一个巨大的存储过程,它以这种方式工作:
最初从表中选择 [ALL DATA] 到临时表中, 在那之后, 根据填充了数据的字段(来自应用程序过滤器),它会从 [ALL DATA] 中删除 NOT LIKE SELECTED FILTER
的信息过滤器中设置的foreach参数等等。
这种方式比较耗时,因为一开始会选择所有数据,然后慢慢删除不需要的。
我不想在客户端创建 SQL 查询。我只想对数据库这样做,或者.... iimmmm,我不知道...
哪个是最好的方法,非常优化,运行速度快,并在尽可能短的时间内返回结果?
我使用 C# 和 .NET 4.0 作为客户端,使用 MSSQL DB。
感谢您的建议。
【问题讨论】:
-
我读到了关于使用 ORM、SQL 游标、.NET 反射,根据选定的过滤器选项进行动态 SQL 查询...哪一个是最好的方法?