我们当前的Web应用程序正在使用SQL Server,我们现在需要支持Oracle。
有几个选择:
Data Facade模式:在Business Layer中使用Data Facade接口,因此SQL Server和Oracle可以拥有自己的数据访问层实现。问题是很难为不同类型的数据库同步DAL代码。
nHibernate:看起来很有希望,我没有使用它的经验。由于我们当前的数据访问层与SQL和存储过程相混合,因此如果更改为nHibernate(我们正面临时间压力),则不确定是否会涉及大量工作。
我想听听你的意见。谢谢。
答案 0 :(得分:2)
我不明白为什么拥有支持Oracle和SQL Server的DAL会如此困难。具体而言,LLBLGen就是这样做的。如果是我,我会用它。但那是因为我之前使用过它而且我是一个忠实粉丝。
答案 1 :(得分:1)
NHibernate对多数据库应用程序具有优秀支持。 Here是关于这样做时要考虑的事情的帖子。
但是,如果你有“时间压力”并且你正在使用完全不同的方法(使用存储过程)更新应用程序,那么进行更改肯定是非常重要的。
答案 2 :(得分:0)
ODP.NET提供标准的ADO.NET数据访问,同时公开Oracle数据库特定的功能,例如XML DB,数据访问性能优化和Real Application Clusters连接池。
答案 3 :(得分:0)
还没有人提到Microsoft Enterprise Library。我没有使用它所以我不能提供推荐,但我认为它需要进一步关注。前几天我正在收听一个播客,他们声称数据库的互操作性是一个设计目标。