What is a good approach for a Data Access Layer?
- by Adil Mughal
Our software is a customized Human Resource Management System (HRMS) using ASP.NET with Oracle as the database and now we are actually moving to make it a product that supports multiple tenants with their own databases.
Our options:
Use NHibernate to support Multiple databases and use of OO. But we concern related to NHibernate learning curve and any problem we faced.
Make a generalized DAL which will continue working with Oracle using stored procedures and use tools to convert it to other databases such as SQL Server or MySql. There is a risk associated with having to support multiple database-dependent versions of a single script.
Provide the software as a Service (SaaS) and maintain the way we conduct business. However there can may be clients who do not want or trust the Cloud or other SaaS business models.
With this in mind, what's the best Data access layer technique?