是否可以将Asp.net MVC Web应用程序与多个数据库连接

时间:2013-05-30 14:29:01

标签: asp.net-mvc entity-framework

我想开发一个新的asp.net MVC Web应用程序,但是这个应用程序应该能够: -

  • 对已存在的Web应用程序数据库执行CRUD操作,该数据库部署在与asp.net mvc相同的服务器上。
  • 此外,asp.net MVC Web应用程序应该有自己的数据库。

到目前为止,我实施的所有MVC项目都是使用自己的数据库,或者是基于现有数据库构建的。

但是可以在现有数据库上构建一个新的asp.net mvc应用程序来检索数据,插入数据和删除数据;但同时要拥有自己的数据库。 请记住,我正在使用实体框架作为数据访问层。 BR

2 个答案:

答案 0 :(得分:1)

有可能。您需要为每个数据库创建一个Entity Framework模型。

答案 1 :(得分:0)

是的,无论您使用何种框架连接数据库,ADO.NET,EF等,它都是完全可能的。

我将有一个单独的DAL项目,其中包含所有DAL逻辑和某种DBFactory类,它根据要从中检索数据的位置返回特定的DBContext。

示例:

public static IEnumerable<User> GetAllUsers()
{
      using(var dbContext = DBFactory.GetContext(EDbConnecion.SQLSERVER) )
      {
          //regular LINQ code here

      } 
}

DBFactory.GetContext方法的唯一工作是:

public static DbContext DBFactory.GetContext(EDbConnection connType)
{
     switch(connType)
     {
         case EDbConnecion.SQLSERVER:
           return new SqlServerContext("WhatHaveYou");
         case EDbConnecion.ORACLE:
           return new OracleContext("WhatHaveYou");
         //and so on
     }
}