数据层: Linq to sql
业务逻辑层:自己实现,封装业务对象对数据库的访问,我的逻辑层比你的做的工作要多,我减少了UI层的代码量。
Model层:用于UI层展示使用的Model,数据可能来源于多张表,具体数据填充在逻辑层中负责
UI层:负责传递数据,展示数据
SQL的质量其实和程序员的水平有关
这也是为什么微软一直努力让大家不要自己来写数据访问层的道理
与其让80%的初级程序员写出性能低下的数据访问代码
不如微软为大家提供一个虽说不是性能最高,但也是次高的结构良好代码质量稳定的解决方案
比如自动生成TableAdapter、Linq to SQL等
当然,如果要追求极限性能,那么就一定要自己来实现所有代码
那时候也能用LINQ,不过就是要自己派生了。
为什么要程序里多次打开和关闭数据库连接呢?
为什么不把数据库连接做成只在程序开始运行时打开一次,程序结束时再释放连接呢?