日期:2014-05-17  浏览次数:20420 次

问一个三层结构的问题。。。懂三层以的人。。进来一下。。。。。。。。言之有理就有分。。。。。。大家来讨论一下。。
三层内面,DAL是数据访问层。。

比如,数据库有A表和B表,那么DAL分别有A类和B类,

相应的,A类和B类,都是写成增减改查基本功能。。

但是有一个功能,很收结。。

就是多表查询,比如A表和B表的左连查询。那么这个查询,到底放那个类好昵。。

因为这个查询涉及A表和B表,到底放A类还是B类。。还是放那里。。?

只有这么多分了。。。
------解决方案--------------------
查询也是业务逻辑
------解决方案--------------------
哪个类都不放,放bll层,关联最好用视图
------解决方案--------------------
DAL并不是用来根据业务需求而扩展的,它是用来控制你的数据库与OOP的映射机制的。如果你因为业务原因而需要写查询,这完全是BLL的功能。如果你发现你的DAL写了一大堆,结果还不得不直接使用ADO.NET或者EF之类的,那么你就应该考虑你所的DAL还有什么意义的问题了。

实际上,我们在DAL基本上不写任何代码。我们暂时不考虑换别的数据库的问题。