我用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="data source=(LocalDB)\v11.0;attachdbfilename=|DataDirectory|\sbi.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
如何改变它?
答案 0 :(得分:1)
实体框架具有特殊类型的连接字符串,其具有CSDL,SSDL,MSL和您的原始连接字符串。
概念架构定义语言(CSDL):本节描述了EDMX文件的概念模型。
存储架构定义语言(SSDL):本节描述EDMX文件的数据库架构模型。
映射规范语言(MSL):本节适用于两个世界的映射(CSDL和SSDL)。
EF实际上从连接字符串中获取CSDL,SSDL和MSL文件名。
答案 1 :(得分:1)
EF连接字符串分为几个部分,用分号(;)分隔。
第一部分是模型元数据,这是从您的edmx文件自动生成的。
第二部分是EF用于与您的存储通信的提供商。
第三部分是提供者连接字符串,它是您当前的连接字符串(为便于阅读而换行):
... provider connection string = "
data source =(LocalDB)\ v11.0;
attachdbfilename = | DataDirectory目录| \ sbi.mdf;
integrated security = True; MultipleActiveResultSets = True; App = EntityFramework "
两个"
之间的文本是您当前的连接字符串,是应该替换的字符串。请注意保持MultipleActiveResultSets = True,并使用反映您的应用程序的应用程序名称切换App = EntityFramework,以便于诊断。