我们正在开发一个基于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。
请告诉我如何才能配置此功能。
答案 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>