我有代码第一个实体模型设计和工作正常如下:
<add name="DemoEntities" connectionString="metadata=res://*/DemoDataModel.csdl|res://*/DemoDataModel.ssdl|res://*/DemoDataModel.msl;provider=System.Data.SqlClient;
provider connection string="data source=myservername;initial catalog=DemoDB;user id=demouser;password=abcd123;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
<add name="SecondDemoEntities" connectionString="metadata=res://*/SecondDemoDataModel.csdl|res://*/SecondDemoDataModel.ssdl|res://*/SecondDemoDataModel.msl;provider=System.Data.SqlClient;
provider connection string="data source=myservername;initial catalog=SecondDemoDB;user id=demouser;password=abcd123;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
但是第一个连接字符串工作正常,我能够读取数据。但是第二个连接字符串抛出以下错误:
''建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:50 - 发生本地数据库运行时错误。无法创建自动实例。请参阅Windows应用程序事件日志以获取错误详细信息。''
请帮忙,我这样做了: 使用单独的实体文件并在构造函数中声明它们:
public Application1Entities()
: base("DemoEntities")
{
}
public Application2Entities()
: base("SecondDemoEntities")
{
}
答案 0 :(得分:0)
看起来你正试图在错误的服务器上创建第二个。乍一看,它们看起来都位于同一台服务器上,但使用的服务器名称不同。
data source=myservername;
data source=secondDemoDB
如果它们托管在同一服务器上,则这两个数据源行必须相同。初始目录确定EF将从哪个服务器上绘制数据库。
答案 1 :(得分:0)
我想出了这个问题。我还必须在UI应用程序中声明相同的连接字符串。整件事都在我的DAL库中。当我在我的UI应用程序中声明相同的连接字符串时,一切运行良好..