1

我创建了一个实体框架文件。我的数据库称为 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 连接字符串。另外两个(实体和容器)是做什么用的?我不再需要原来的连接字符串了吗?

4

1 回答 1

2

你有三个连接字符串。两个是 EF 连接字符串,一个 (MyDBConnectionString) 用于 ADO.NET。

您只需要一个 EF 连接字符串。保留您的模型所引用的那个。它将与模型本身具有相同的名称。

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

于 2010-04-23T12:11:14.760 回答