2014-02-10 40 views
0

我的代碼第一個實體模型的設計和做工精細如下:兩個數據庫連接字符串與EF代碼第一種方法導致錯誤

<add name="DemoEntities" connectionString="metadata=res://*/DemoDataModel.csdl|res://*/DemoDataModel.ssdl|res://*/DemoDataModel.msl;provider=System.Data.SqlClient;   
     provider connection string=&quot;data source=myservername;initial catalog=DemoDB;user id=demouser;password=abcd123;MultipleActiveResultSets=True;App=EntityFramework&quot;" 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=&quot;data source=myservername;initial catalog=SecondDemoDB;user id=demouser;password=abcd123;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 

但首先連接字符串工作正常,我能讀取數據。但是第二個連接字符串正在引發以下錯誤:

''建立到SQL Server的連接時發生網絡相關或實例特定的錯誤。服務器未找到或無法訪問。驗證實例名稱是否正確,並將SQL Server配置爲允許遠程連接。 (提供程序:SQL網絡接口,錯誤:50 - 本地數據庫運行時錯誤發生。無法創建自動實例。請參閱Windows應用程序事件日誌以獲取錯誤詳細信息。''獨立的實體文件,並宣佈他們在構造函數:

 public Application1Entities() 
      : base("DemoEntities") 
     { 

     } 


      public Application2Entities() 
       : base("SecondDemoEntities") 
      { 

      } 
+0

您可以使用Sql Server Management studio中的相同憑據進行連接嗎? – jacqijvv

+0

是的,我可以連接.. – user1882705

回答

0

看起來像你想創建錯誤的服務器上的第二一目瞭然,它看起來像這兩個駐留在同一臺服務器上,但使用不同的服務器名稱。

data source=myservername; 

data source=secondDemoDB 

如果這兩個數據源線位於同一臺服務器上,則它們需要保持一致。初始目錄確定EF將從哪個數據庫中提取EF。

+0

這是一個錯字...我只是將其更改爲數據源= myservername;對於我的問題。 – user1882705

0

我想出了這個問題。我也必須在UI應用程序中聲明相同的連接字符串。整個事情都在我的DAL庫中。當我在我的UI應用程序中聲明相同的連接字符串時,一切運行良好。

相關問題