【发布时间】:2012-10-03 01:40:08
【问题描述】:
ASP.NET 控件不允许您在绑定数据源时指定要使用的表索引,因此如果您使用 SqlDataSource 控件来处理数据,您的查询实际上只能返回一个表。另一种方法是手动从代码隐藏和数据绑定运行查询。这两种方法对我来说都很好,但我很好奇在这种情况下“最佳实践”是什么(以及为什么)。
谢谢
【问题讨论】:
标签: asp.net sql-server tsql
ASP.NET 控件不允许您在绑定数据源时指定要使用的表索引,因此如果您使用 SqlDataSource 控件来处理数据,您的查询实际上只能返回一个表。另一种方法是手动从代码隐藏和数据绑定运行查询。这两种方法对我来说都很好,但我很好奇在这种情况下“最佳实践”是什么(以及为什么)。
谢谢
【问题讨论】:
标签: asp.net sql-server tsql
如果您可以使用一个查询获得多组“需要”数据,那么只要您确实需要这些数据,它总是更可取。您的第二种方法为您提供了灵活性
此外,在任何现实生活中的生产应用程序中使用SQLDataSource 都将违反大多数最佳实践,因为它将您的 DAL 与您的 UI 结合在一起。以这种方式进行时绝对没有分层的概念,您实际上是在制作 1 层应用程序。
我的建议是不要使用SQLDataSource。
【讨论】:
如果您遇到性能问题,我会查看您的存储过程、数据库或网络配置。为了访问简洁和模块化的数据而多次调用数据库并没有错。事实上,为了减少查询数量而提出非常昂贵的查询,可能会大大降低性能。
如果您在应用程序中为许多不同的功能访问相同的数据,那么您可以将数据拉到您的缓存中并查询缓存而不是数据库。与减少查询数量相比,这对性能的影响要大得多。
【讨论】: