-2

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

如果我采用以下架构

模型

Employee
    ID
    Name

达尔

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。

请让我知道如何使这个可配置。

4

1 回答 1

1

请您使用 web.config 进行配置,并在您的 DAL 中读取 web.config 中的值并对数据库进行必要的调用

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

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

web.config 看起来像这样

    <appSettings>
     <add key="ActiveDatabase" value="SQLDB"/>
    </appSettings>
于 2013-04-18T08:12:33.417 回答