ASP.NET Web应用程序,支持多种数据库

时间:2013-04-18 07:46:35

标签: c# asp.net sql multiple-databases

我们正在开发一个基于asp.net web的应用程序,例如,如果我想部署相同的Web应用程序,其MS访问作为后端或Sql作为后端,它应该使用的数据访问层应该是可配置的。 / p>

如果我使用以下架构

模型

Employee
    ID
    Name

DAL

EmployeeAccessDb (Uses inline queries)
    GetAll
    GetByID
    Insert
    Update
    Delete

EmployeeSqlDb (Uses stored procedures)
    GetAll
    GetByID
    Insert
    Update
    Delete

页面(使用EmployeeAccessDb / EmployeeSqlDb)

ObjectDataSource SelectMethod="GetAll" TypeName=" < EmployeeAccessDb / EmployeeSqlDb >"
Insert
Update
Delete

因此,如果我使用Access作为后端,页面应该使用Access DAL,如果我使用Sql页面应该使用SQL DAL。

请告诉我如何才能配置此功能。

1 个答案:

答案 0 :(得分:1)

请你web.config进行配置,并在你的DAL中读取web.config的值,并对数据库进行nessesary调用

您需要添加对System.Configuration的引用。您应该使用ConfigurationManager

    String Activedatabase = ConfigurationManager.AppSettings["ActiveDatabase"];

web.config将如下所示

    <appSettings>
     <add key="ActiveDatabase" value="SQLDB"/>
    </appSettings>