C# 仅使用SqlConnection SqlCommand和SqlDataReader进行数据访问层可以吗

C# 仅使用SqlConnection SqlCommand和SqlDataReader进行数据访问层可以吗,c#,ado.net,data-access-layer,C#,Ado.net,Data Access Layer,我知道现在有很多现成的东西可以使用,但是如果您想要完全控制db请求/查询,并获得最佳性能,我认为这是一条可行的道路。另外,由于ADO.NET为SqlConnection自动执行连接池,您认为如何?绝对正确。如果您想要的是卓越的性能,那么您将无法获得比这更快的速度。我觉得还可以 事实上,我现在正在做一个报告系统,它使用SQL、DataReaders和SQLConnections,因为它所做的一切都运行SQL。OLAP多维数据集并不完全是或映射器的最佳候选对象。我认为它非常好。只有您才能为任何给定的

我知道现在有很多现成的东西可以使用,但是如果您想要完全控制db请求/查询,并获得最佳性能,我认为这是一条可行的道路。另外,由于ADO.NET为SqlConnection自动执行连接池,您认为如何?

绝对正确。如果您想要的是卓越的性能,那么您将无法获得比这更快的速度。我觉得还可以


事实上,我现在正在做一个报告系统,它使用SQL、DataReaders和SQLConnections,因为它所做的一切都运行SQL。OLAP多维数据集并不完全是或映射器的最佳候选对象。

我认为它非常好。只有您才能为任何给定的项目确定最佳的工具集,只要您正确地使用它们,遵循最佳实践,使用您认为最好的工具集


就个人而言,我更喜欢使用你提到的工具,因为我喜欢更精细的控制。我只在非常简单的任务中使用拖放组件,而且这些任务现在有了动态数据。

如果您确实需要完全控制生成的SQL查询,并且希望获得最佳性能,那么这就是最好的方法。但有时最好的性能是以可读性和可维护性较差的代码为代价的。如果是这种情况,您可能需要决定这个价格是否值得支付。

是的,我认为这完全可以!我个人喜欢拥有完全的控制权,准确地定义db交互的方式,并让您对性能调整/优化拥有绝对的控制权


只是想补充一下,当然,Sql DATAdAdvices和数据项可能也有它们的位置,特别是如果想要通过断开连接的数据。

是的,你是对的,它有最好的性能,但是在做出决定之前你必须考虑所有的点,有ORM工具可以控制所有的数据登录层,而且他们的表现很好

如果您需要最佳性能,这是可以的。它为您提供了更多的控制和更好的性能。顺便说一句,这里有一篇文章是关于在使用ADO.NET时应该考虑的影响性能的因素:

您可能还需要查看企业库。它使用基本的ADO.Net对象,同时最小化在代码中进行这些调用所需的代码