【发布时间】:2021-12-31 07:43:51
【问题描述】:
我正在 Visual Studio 2019 中创建一个云服务(MVC 和 WCF),并在我的机器上本地使用 SSMS 中的数据库。我首先使用实体框架代码。很长一段时间以来,我一直无法将我的代码从我的数据库中读取到“ReadAll”。我面临的问题似乎与连接字符串和/或 DBcontext 有关。但让我明白的是,连接字符串可以很好地为 db 表搭建脚手架。
当我有这样的 DBContext 构造函数时:
public partial class Model5 : DbContext
{
public Model5()
: base("name=Model5")
{
}
然后我得到这个错误: System.InvalidOperationException: '在应用程序配置文件中找不到名为 'Model5' 的连接字符串。'
当我有这样的 DBContext 构造函数时:
public partial class Model5 : DbContext
{
public Model5()
: base("Model5")
{
}
然后我得到这个错误: System.Data.Entity.Core.ProviderIncompatibleException: '访问数据库时出错。这通常意味着与数据库的连接失败。检查连接字符串是否正确,以及是否使用了适当的 DbContext 构造函数来指定它或在应用程序的配置文件中找到它。 '
SqlException:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:50 - 发生本地数据库运行时错误。指定的 LocalDB 实例不存在。 )
这是我的连接字符串(位于类库的应用程序配置文件中)。就像我说的,这个连接字符串适用于使用 Entity Framework CodeFirst 创建表,但不适用于“ReadAll”函数。
<connectionStrings>
<add name="Model5"
connectionString="data source=.;initial catalog=TradingPlatform4;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"
providerName="System.Data.SqlClient" />
</connectionStrings>
【问题讨论】:
-
"。"通常用于 SQL Express 并且将与实例名称一起使用。 IE。 “.\SQLExpress”。
(localdb)通常用于 SQL Server 实例。您的数据库服务器可能有一个需要在连接字符串中指定的实例名称。 -
SSMS (SQL Server Management Studio) 不是数据库服务器,而是客户端。与 Outlook 不同的是,它是邮件服务器的客户端。您是否在某处安装了 SQL Server 实例?
-
我已经解决了这个问题...使用云服务,必须在 MVC 和 WCF 服务部分、Web 配置以及类库中包含连接字符串
标签: c# asp.net sql-server entity-framework visual-studio-2019