为什么通过实体框架6从localdb(MssqlLocalDb)读取数据只能通过命名管道工作
本文关键字:数据 管道 工作 管道工 读取 MssqlLocalDb 框架 实体 localdb 为什么 | 更新日期: 2023-09-27 18:24:40
正如标题所说:如果我在ASP.NET MVC网站中创建一个ADO.NET实体数据模型,并通过数据库实例设置连接,它会显示
测试连接成功
在调试读取表的代码时,它会给我一个错误
基础连接无法打开
如果我更改这个(实例)的连接字符串
<add name="GameDbEntities"
connectionString="metadata=res://*/Models.GameDb.csdl|res://*/Models.GameDb.ssdl|res://*/Models.GameDb.msl;provider=System.Data.SqlClient;provider connection string="data source=(localdb)'mssqllocaldb;initial catalog=GameDb;user id=codadmin;password=******;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
到此(命名管道)
<add name="GameDbEntities"
connectionString="metadata=res://*/Models.GameDb.csdl|res://*/Models.GameDb.ssdl|res://*/Models.GameDb.msl;provider=System.Data.SqlClient;provider connection string="data source=np:''.'pipe'LOCALDB#D6BBC602'tsql'query;initial catalog=GameDb;user id=codadmin;password=******;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
它按预期工作,从数据库读取数据
我不理解这一点,因为如果我创建一个wpf应用程序,它就可以通过实例
我假设您使用的是SQL Server Express。问题是,使用此SQL版本时,默认情况下会禁用TCP/IP连接。
激活它的几个步骤:
- 转到SQL Server配置管理器
- SQL Server网络配置
- 协议
- 启用TCP/IP
更多信息可以在这里找到。