nos*_*nos 4 .net database ado.net
我正在研究一些MSDN示例,以及一些关于ADO.Net的书籍.它们的共同点是使用Visual Studio中的指向/单击/拖放设计时间功能来开发数据库应用程序,将数据集绑定到控件等.
据我所知,结果代码在GUI线程中进行所有数据库访问.这听起来像是不好的做法,一旦查询开始需要时间,数据库访问应用程序的烦人行为.
我错过了什么吗?这是我们应该如何开发数据库应用程序?我总是不会三思而后行将网络IO放在一个单独的线程中.
是的,这是一个坏主意,除非你真的不关心GUI挂起.在某些情况下,特别是对于"快速和肮脏"的工具,这实际上是正确的选择.如果这意味着你可以向一个用户提供一些东西,无论如何都要使用它并且关心很快完成工作,而不是总是拥有响应式UI,那么在线程之间浪费时间就没什么意义了.
但是,不是,你不是要开发那些能够保持响应的数据库应用程序.
但是,我可以理解为什么书籍和教程会这样做 - 至少在某种程度上如此.如果他们试图教你数据库访问而不是线程,那就意味着更大比例的代码与主题相关,而不是一切都是绝对的"生产代码".我从经验中知道,很难将"教学代码"保持为干净.
但是,我认为这样的教程和书籍可以预先解释这个,所以它们不会导致坏习惯.