【问题标题】:Entity framework connection string实体框架连接字符串
【发布时间】:2011-03-03 03:10:32
【问题描述】:

我不确定如何处理以下问题,因此我们将不胜感激。我正在开发一个连接到在线 MSSQL 数据库的应用程序,并且一切正常。我使用的模型是实体模型。

问题是我必须将连接字符串从在线数据库更改为本地数据库,但我不知道如何。创建新模型不是一种选择。我尝试更改 web.config 中的连接字符串,但我得到的唯一结果是错误...

这就是我在 web.config 中的内容:

<connectionStrings>
<add name="PravosudnaAkademijaEntities" connectionString="metadata=res://*/PrakModel.csdl|res://*/PrakModel.ssdl|res://*/PrakModel.msl;provider=System.Data.SqlClient;provider connection string='Data Source=MY-PC;Initial Catalog=pak_baza;Integrated Security=True" providerName="System.Data.EntityClient" />

【问题讨论】:

  • 您正在使用哪个在线 Mssql 托管服务以及如何在线连接,因为在我的情况下,它显示错误,而在线 localhost 工作正常

标签: c# asp.net entity-framework


【解决方案1】:
"Data Source=HRVOJE-PC;Initial Catalog=pak_baza;Integrated Security=True"

这是您应该更改的部分,它只是您的常规 SQL 服务器连接字符串, HRVOJE-PC 是机器名称或 IP,pak 是您的数据库的名称。如果您的本地计算机上有一个数据库,您想将 HRVOJE-PC 替换为 localhost

有关 SQL Server 连接字符串的示例,请查看here

【讨论】:

  • 谢谢,这就是答案,我真的不知道我怎么看不到这么明显的东西!再次感谢您的解释!
【解决方案2】:

或者,有一个 DataContext constructor 接受一个连接字符串参数,如果它是一个临时更改并计划切换回你曾经使用的那个,你可以使用它。

【讨论】:

    【解决方案3】:

    另一种方法是复制连接字符串并为您的本地创建另一个。打开您的 EDMX 属性并在连接字符串下拉列表中选择本地连接字符串。

    【讨论】:

      【解决方案4】:

      我不知道这是否被推荐,但我认为它会起作用。

      在model.context.cs文件中有一个构造函数:

      公共模式实体() : base("name=ConnectionStringName_In_Config") { }

      如果我们在该文件中创建另一个构造函数,例如:

      公共模式实体(字符串连接名称) : base("name=" + connName) { }

      然后我们可以使用新的构造函数传递我们想要的任何连接字符串,假设替换的 connstring 与原始 EF connstring 具有相同的数据库结构。

      【讨论】:

        猜你喜欢
        • 2011-11-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-11
        • 2014-02-03
        • 2011-04-16
        • 1970-01-01
        相关资源
        最近更新 更多