我的DAL类是否可以在不同的数据库中重复使用?
我知道有些技术(Linq和EF)支持快速开发,我很欣赏这个功能,但我也想让我的DAL代码能够在不同的数据库中重用。
一个简单的想法是Oledb使用内联SQL查询,是否有更优雅的方式?请指导我。我只是在考虑两件事。
由于
答案 0 :(得分:4)
您可以考虑使用ORM framework或Entity Framework等NHibernate。这样,您的数据访问层将与数据库无关。
答案 1 :(得分:3)
如果您坚持使用接口(IDbConnection
,IDbCommand
,...)及其工厂方法(IDbConnection.CreateCommand
),那么唯一需要知道您正在使用的数据库的代码是初始连接创建(可以封装)。
答案 2 :(得分:1)
实体框架可以完成您想要的工作。最常用的数据库支持它,但Oracle除外。对于Oracle,您必须使用第三方组件,因为正式的Oracle对Entity Framework的支持仍处于测试阶段。