哪个连接字符串是正确的?

时间:2013-04-01 04:06:37

标签: asp.net-mvc entity-framework connection-string

我用mvc和实体框架编写程序。 我的连接字符串有问题。

我的主持人说你的连接字符串必须如下:

Server=sql2005.yourdomain.com,1430;Database=databaseName;Uid=userName;Password=password;

我程序中的连接字符串是:

<add name="sbiEntities" connectionString="metadata=res://*/Models.modelCompany.csdl|res://*/Models.modelCompany.ssdl|res://*/Models.modelCompany.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(LocalDB)\v11.0;attachdbfilename=|DataDirectory|\sbi.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

如何改变它?

2 个答案:

答案 0 :(得分:1)

实体框架具有特殊类型的连接字符串,其具有CSDL,SSDL,MSL和您的原始连接字符串。

概念架构定义语言(CSDL):本节描述了EDMX文件的概念模型。

存储架构定义语言(SSDL):本节描述EDMX文件的数据库架构模型。

映射规范语言(MSL):本节适用于两个世界的映射(CSDL和SSDL)。

EF实际上从连接字符串中获取CSDL,SSDL和MSL文件名。

答案 1 :(得分:1)

EF连接字符串分为几个部分,用分号(;)分隔。

  • 第一部分是模型元数据,这是从您的edmx文件自动生成的。

  • 第二部分是EF用于与您的存储通信的提供商。

  • 第三部分是提供者连接字符串,它是您当前的连接字符串(为便于阅读而换行):

    ... provider connection string = &quot; data source =(LocalDB)\ v11.0; attachdbfilename = | DataDirectory目录| \ sbi.mdf; integrated security = True; MultipleActiveResultSets = True; App = EntityFramework &quot;

    两个&quot;之间的文本是您当前的连接字符串,是应该替换的字符串。请注意保持MultipleActiveResultSets = True,并使用反映您的应用程序的应用程序名称切换App = EntityFramework,以便于诊断。