Tri*_*ack 68 asp.net entity-framework connection-string
我有一个带有默认成员资格数据库的asp.net-mvc应用程序.我正在通过ADO.NET Entity Framework访问它.
现在我想将它移动到IIS,但出现了几个问题.我不得不安装SQL Server Management Studio,创建新数据库,导入前一个.MDF文件中的所有数据.只剩下要做的事情(据我所知)是改为连接字符串.但是,我对此并不十分熟悉并且不断支持关键字:'数据源'.例外.这是我的连接字符串:
<add name="ASPNETDBEntities"
connectionString="Data Source=MONTGOMERY-DEV\SQLEXPRESS;Initial Catalog=ASPNETDB;Integrated Security=True;"
providerName="System.Data.EntityClient" />
Run Code Online (Sandbox Code Playgroud)
有什么想法,有什么不对?
mar*_*c_s 128
你拥有的是一个有效的ADO.NET连接字符串 - 但它不是一个有效的Entity Framework连接字符串.
EF连接字符串看起来像这样:
<connectionStrings>
<add name="NorthwindEntities" connectionString=
"metadata=.\Northwind.csdl|.\Northwind.ssdl|.\Northwind.msl;
provider=System.Data.SqlClient;
provider connection string="Data Source=SERVER\SQL2000;Initial Catalog=Northwind;Integrated Security=True;MultipleActiveResultSets=False""
providerName="System.Data.EntityClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
你丢失了所有的metadata=和providerName=您的EF连接字符串中的元素......你基本上只能有什么包含在真实provider connection string的一部分.
使用EDMX设计器应该在web.config或app.config中为您创建有效的EF连接字符串.
渣
更新:好的,我明白你要做的是:你需要第二个"ADO.NET"连接字符串,仅用于ASP.NET用户/成员资格数据库.你的字符串没问题,但是providerName是错误的 - 它必须是"System.Data.SqlClient" - 这个连接不使用ENtity Framework - 不要为它指定"EntityClient"!
<add name="ASPNETMembership"
connectionString="Data Source=MONTGOMERY-DEV\SQLEXPRESS;Initial Catalog=ASPNETDB;Integrated Security=True;"
providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)
如果指定providerName=System.Data.EntityClient==> Entity Framework连接字符串(带元数据=和所有内容).
如果需要并指定providerName=System.Data.SqlClient==> 直接ADO.NET SQL Server连接字符串而不添加所有EF
当您通过索引引用web.config(或app.config)连接字符串时,可能会发生此问题...
var con = ConfigurationManager.ConnectionStrings[0].ConnectionString;
Run Code Online (Sandbox Code Playgroud)
基于零的连接字符串并不总是配置文件中的连接字符串,因为它默认从堆栈的上方继承其他字符串.
建议的方法是按名称访问您的连接...
var con = ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString;
Run Code Online (Sandbox Code Playgroud)
或者首先清除配置文件中的connnectionStrings元素...
<connectionStrings>
<clear/>
<add name="MyConnection" connectionString="...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
115772 次 |
| 最近记录: |