如何通过Entity Framework连接远程SQL Server?

3

我在数据库系统方面没有足够的经验。我需要连接到远程SQL服务器并对其进行一些查询处理。我该如何通过Entity Framework连接远程服务器?


我只是一个新手。我不知道这件事是通过连接字符串发生的还是其他方式。在使用Entity Framework时,我甚至从未看到过连接字符串。因此,我想学习它的基本步骤。 - Freshblood
请阅读并学习:http://www.connectionstrings.com/ - TomTom
3个回答

3

1) 检查远程SQL服务器是否允许远程连接

2) 在Visual Studio中使用Entity Framework向导(添加新连接)


2
与任何其他数据库连接工具一样:确保服务器和您与服务器之间的所有防火墙/代理服务器接受连接,然后提供正确的连接字符串给EF。但是,如果您只需要处理一些SQL查询,我建议使用SQL Server Management Studio。Entity Framework是ORM,而不是数据库管理工具。

1
以下是我如何通过编程方式(无需xml/appconfig文件)连接到远程服务器的步骤:
  1. First check that your remote server is correctly parametrised. In particular one port has to be open. See this MSDN post for details.
  2. Create the connection string as follow (see SqlConnectionStringBuilder):

    public static string GetRemoteConnectionString()
    {
        SqlConnectionStringBuilder sqlString = new SqlConnectionStringBuilder()
        {
          DataSource = $"{IP},{PORT}", // ex : 37.59.110.55,1433 
          InitialCatalog = "MyDatabaseName",  //Database
          IntegratedSecurity = false,
          MultipleActiveResultSets = true,
          ApplicationName = "EntityFramework",
          UserID = "MyUserId",
          Password = "MyPassword"
        };
        return sqlString.ToString();
    }
    
  3. Then connect via the DbContext :

    public class MDBContext : DbContext
    {    
      public MDBContext () : base(GetRemoteConnectionString())
      {
      }
      ......
    }
    
额外:

  • You can also easily check connection (before to create the DbContext) as follow :

           try
           {
                using (SqlConnection con = new SqlConnection(GetRemoteConnectionString()))
                {
                    con.Open();
                }
                success = true;
            }
            catch (Exception ex)
            {
               success = false;
                ...
            }
    

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接