解释Entity Framework 4的连接字符串

时间:2010-04-22 10:02:21

标签: .net entity-framework web-config entity-framework-4

我创建了一个实体框架文件。我的数据库名为MyDB。我的实体框架文件是MyDB.edmx,我使用现有的连接字符串(MyDBConnectionString)来生成edmx模型。

它创建了两个连接字符串:
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的文件。然后,当我从数据库中生成edmx模型时,visual studio创建了MyDBEntities和MyDBContainer连接字符串。另外两个(实体和容器)是什么?我不再需要原始连接字符串了吗?

1 个答案:

答案 0 :(得分:2)

您有三个connectionStrings。两个是EF connectionStrings,一个(MyDBConnectionString)用于ADO.NET。

您只需要一个EF connectionStrings。保留模型所指的那个。它将与模型本身具有相同的名称。

你也应该保留MyDBConnectionString。例如,如果要使用表单身份验证,则在配置SQL成员资格提供程序时,您将需要该connectionString。它们应该保持同步以指向同一个DB。