使用ORM的话,是怎的分层的?还需要IDAL吗

使用ORM的话,是怎样分层的?还需要IDAL吗
小弟不才,以前都是使用最普通的ADO.NET的三层,使用代码生成器生产代码。
最近考虑到可能会读取不同的数据库,虽然用代码生成器了,但还是感觉以前的方式很不方便。
所以想尝试下ORM,但ORM众多,考虑到以后可能还会换ORM,所以分层还需要IDAL吗?
具体大家用ORM都是怎样架构的啊?
为了更少的处理数据访问层,使用ORM还需要代码生成器吗,或者有配套的代码生成器吗?
我是喜欢轻量级一点的ORM,EF上手有点麻烦,并且我是用.NET2.0环境。感觉Dapper不错,顺便求推荐!
请各位大大不要吝啬啊,百度出来的都不是最终想要的结果,所以特发此贴,问个明白。
------解决思路----------------------
换不同的数据库,就是要求你的 ORM 之类东西本身具有的功能。例如如果你用 EF,那么也可以看看它如何处理不同数据库的。你使用的访问数据库的方法,比如说 ADO.NET,没有“不同数据库”适配功能吗?可能是你没有注意到吧!

你所谓的 IDAL 带来的工作量,跟一个 IBLL 带来的工作量,是一样的。

以前专门给国营单位做OA的一些小公司喜欢搞“切换SQL Server、MySQL、Oracle”的噱头。而这种东西其实就是皮包公司的噱头,真实区别并不大。实际上现在并不需要太多考虑“随时改变数据库”的问题,只要注意“一定要使用一个免费的、并且大公司(例如淘宝)确实使用过的数据库”就足够了。

我使用 MongoDB。

------解决思路----------------------
每个ORM提供的功能接口都不同,甚至差异巨大,根本不可能抽象出一个通用的ADO.NET那样的IDAL出来。
------解决思路----------------------
引用:
每个ORM提供的功能接口都不同,甚至差异巨大,根本不可能抽象出一个通用的ADO.NET那样的IDAL出来。
除非你只需要简单的CRUD。
------解决思路----------------------
分层和ORM没太大关系,一个是代码结构,一个是对象映射和持久化功能。
IDAL的话,作为接口定义的是一些行为,这些行为完全可以包含ORM。
------解决思路----------------------
何必纠结怎么分层,合理的就是好的