在多个sql server和数据库之间创建安全连接

时间:2015-07-29 19:02:35

标签: asp.net-mvc entity-framework asp.net-mvc-5

我是MVC世界的新手,我首先从数据库项目开发mvc5代码,我想在我的本地服务器与多个sql服务器之间建立安全连接,每个服务器可以包含一个或多个数据库。

所以有人可以澄清这些:  1.创建SQL Server连接[如果可能,在一个实体框架中]  2.保护连接。  3.如果可能,如何访问初始目录数据库以外的数据库

注意: 我发现在创建连接后使用实体框架进行数据访问,然后通过命令行实用程序加密连接字符串, Aspnet_regiis.exe 任何其他技术,而不是这个。 感谢

1 个答案:

答案 0 :(得分:0)

就安全连接而言,你所拥有的只是SSL。使每个SQL Server实例仅通过SSL可用,并且您的连接与以往一样安全。加密连接字符串,使用受限访问用户等很重要,但实际上并不是保护连接的方面,而只是安全性。

对于通过Entity Framework进行多个数据库访问,您只需要多个上下文。每个上下文属于一个且唯一的数据库,但您可以拥有所需数量的上下文。唯一需要注意的是拥有多个上下文来运行迁移。虽然我认为EF从版本6开始就支持这一点,但仍然不推荐。通常,您应该只有一个运行迁移的上下文(本质上属于您的应用程序的实体),而您的其他上下文仅适用于在应用程序之外创建和管理的现有数据库。实际上,如果您认为在单个项目中需要多个可迁移的上下文,那么这实际上是将项目拆分为多个项目的理由。

因此,为了连接到现有数据库,您只需要一个常规的旧DbContext子类,并进行一些调整:1)您需要指定手动使用的连接,2)您需要禁用数据库初始化。这是一个看起来像骨架的骨架:

public ExistingDatabaseContext : DbContext
{
    public ExistingDatabaseContext()
        : base("ConnectionStringName")
    {
        Database.SetInitializer<ExistingDatabaseContext>(null);
    }

    // DbSets here
}