【问题标题】:Multiple queries or a single query returning multiple tables when binding data to ASP.NET controls?将数据绑定到 ASP.NET 控件时,多个查询或单个查询返回多个表?
【发布时间】:2012-10-03 01:40:08
【问题描述】:

ASP.NET 控件不允许您在绑定数据源时指定要使用的表索引,因此如果您使用 SqlDataSource 控件来处理数据,您的查询实际上只能返回一个表。另一种方法是手动从代码隐藏和数据绑定运行查询。这两种方法对我来说都很好,但我很好奇在这种情况下“最佳实践”是什么(以及为什么)。

谢谢

【问题讨论】:

    标签: asp.net sql-server tsql


    【解决方案1】:

    如果您可以使用一个查询获得多组“需要”数据,那么只要您确实需要这些数据,它总是更可取。您的第二种方法为您提供了灵活性

    此外,在任何现实生活中的生产应用程序中使用SQLDataSource 都将违反大多数最佳实践,因为它将您的 DAL 与您的 UI 结合在一起。以这种方式进行时绝对没有分层的概念,您实际上是在制作 1 层应用程序。 我的建议是不要使用SQLDataSource。

    【讨论】:

      【解决方案2】:

      如果您遇到性能问题,我会查看您的存储过程、数据库或网络配置。为了访问简洁和模块化的数据而多次调用数据库并没有错。事实上,为了减少查询数量而提出非常昂贵的查询,可能会大大降低性能。

      如果您在应用程序中为许多不同的功能访问相同的数据,那么您可以将数据拉到您的缓存中并查询缓存而不是数据库。与减少查询数量相比,这对性能的影响要大得多。

      【讨论】:

      • 我没有遇到任何问题,我仍处于项目的规划阶段,这是我一直想知道的。感谢您的回复!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-16
      • 2013-07-26
      • 2018-09-14
      相关资源
      最近更新 更多