2010-04-22 52 views
1

我創建了一個實體框架文件。我的數據庫被稱爲MyDB。 My Entity Framework文件是MyDB.edmx,我使用現有的連接字符串(MyDBConnectionString)生成edmx模型。說明實體框架4的連接字符串

它創造了兩個連接字符串:
MyDBEntities
MyDBContainer

這些是爲了什麼?他們看起來完全一樣,都有我的舊連接字符串中的信息。

我還需要我的舊連接字符串嗎?

更新更多的信息:這裏

是連接字符串:

<add name="MyDBConnectionString" connectionString="Data Source=localhost;Initial Catalog=MyDB;Persist Security Info=False;User ID=MyDB;Password=MyDB" providerName="System.Data.SqlClient" /> 
<add name="MyDBEntities" connectionString="metadata=res://*/App_Code.MyDB.csdl|res://*/App_Code.MyDB.ssdl|res://*/App_Code.MyDB.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=localhost;Initial Catalog=MyDB;Persist Security Info=True;User ID=MyDB;Password=MyDB;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /> 
<add name="MyDBContainer" connectionString="metadata=res://*/App_Code.MyDB.csdl|res://*/App_Code.MyDB.ssdl|res://*/App_Code.MyDB.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=localhost;Initial Catalog=MyDB;Persist Security Info=True;User ID=MyDB;Password=MyDB;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /> 

我創造了第一個叫MyDBConnectionString。然後,當我從數據庫Visual Studio生成edmx模型時,創建了MyDBEntities和MyDBContainer連接字符串。另外兩個(實體和容器)用於什麼?我不需要原始連接字符串了嗎?

+0

你可以包括他們嗎? EF有自己的連接字符串,但(1)只有一個,(2)它看起來不同於DB CS。 – 2010-04-22 12:59:13

回答

2

您有三個connectionStrings。兩個是EF連接字符串,其中一個(MyDBConnectionString)用於ADO.NET。

您只需要其中一個EF connectionStrings。保留你的模型引用的那個。它將與模型本身具有相同的名稱。

你也應該保留MyDBConnectionString。例如,如果您想使用表單身份驗證,那麼如果您配置了一個SQL成員資格提供程序,則需要該connectionString。它們應該保持同步以指向相同的數據庫。

+0

非常感謝您的解釋。 – dtc 2010-04-23 18:39:54

相關問題