【问题标题】:External SQL Server access in MVC 3 + Entity Framework for query-onlyMVC 3 + Entity Framework 中的外部 SQL Server 访问,仅用于查询
【发布时间】:2011-12-10 21:39:25
【问题描述】:

我正在开发一个使用 MVC 3 和 EF 4 的系统。在这个系统中,我需要查找一些已经存在于外部数据库中的信息。

my 数据库中保存我的项目信息是可以的。我在上面定义了我的模型并让 DbContext 在我的服务器上创建表。

问题是当我尝试从外部数据库查询一些数据时。我已在Web.config 的适当位置添加了连接字符串:

<connectionStrings>
    <add name="ExtDBConnectionString" connectionString="Data Source=path.to.server;Initial Catalog=DBName;Persist Security Info=True;User ID=user;Password=pass;Pooling=True;Min Pool Size=5;Max Pool Size=60;Connect Timeout=2;" providerName="System.Data.SqlClient" />
</connectionStrings>

是否可以只在我的项目上创建一些对该服务器的查询,而不会从这个外部数据库重新创建所有模型的重载?我知道我可以使用命令System.Configuration.ConfigurationManager.ConnectionStrings["ExtDBConnectionString"].ConnectionString 在我的代码中恢复此连接字符串,但是如何创建连接并实例化我的查询?

提前致谢!

编辑: @rouen 引起了我的注意,我没有明确表示数据库是不同的。他们确实共享相同的架构!外部数据库是报告的输出;所以,我需要在我的项目上遍历它,将相关行导入本地数据库。

【问题讨论】:

    标签: sql-server asp.net-mvc entity-framework-4 connection-string dbcontext


    【解决方案1】:

    我只会使用标准的 ADO.NET。使用 SqlConnection 和 SqlCommand 类。

    MSDN 上的 ADO.NET 示例: http://msdn.microsoft.com/en-us/library/dw70f090.aspx

    【讨论】:

      【解决方案2】:

      远程数据库在原理上与您的本地数据库相同吗?如果是,您可以将连接字符串传递给 ObjectContext/DbContext 的构造函数,它将使用该数据库。

      http://msdn.microsoft.com/en-us/library/gg679467%28v=vs.103%29.aspx

      【讨论】:

      • 不,远程数据库与本地无关。将其视为报告的结果,我将查询该报告以查找要导入到我的系统的相关部分。
      猜你喜欢
      • 2020-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-09
      • 2016-01-01
      • 2021-07-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多