3

我正在使用 Visual Studio 2015、Entity Framework v6 和 SQL Server 2016 Express。过去,我使用SqlConnectionand创建了一个数据库,SqlCommand并将 SQL 填充到一个字符串中。

现在,我正在自学 EF6实体框架教程。在简单的代码优先示例(非常简单)中,我从字面上复制并粘贴了我的代码,但仍然看不到在 SSMS 中创建的数据库。我的代码也没有给我任何错误。

我没有粘贴代码,而是做了一个截图。我希望有人能指出我是什么或缺少教程。

在此处输入图像描述

[编辑]按照 Sampath 的建议,我最终得到以下错误: 在此处输入图像描述 在此处输入图像描述

[编辑 - 解决了,有点]

我将相同的代码应用于另一台具有相同设置的机器并且代码有效。所以我怀疑 SQL Server 中存在一些损坏,或者某些注册表不正确。我卸载每个 SQL Server 版本和相关工具,手动删除所有文件夹和文件,然后重新安装 SQL Server Express 2016 和工具。然后我的代码工作。

我不认为这是一个解决方案,但如果有人可以提出可能导致此问题的原因,我将尝试重新创建它或发布一个真正的解决方案。

4

2 回答 2

2

您必须在文件上提供连接字符串名称,web.config如下所示。

语境 :

public SchoolContext(): base("MySchoolDB")
        {

        }

App.config 文件

<add name="MySchoolDB" connectionString="Server=localhost; 
Database=YourDBName;Trusted_Connection=True;" providerName="System.Data.SqlClient" />

您可以在此处获取更多详细信息:数据库初始化

于 2016-10-08T09:46:05.563 回答
1

配置连接字符串后,您必须将实体添加到数据库中,然后 DBContext 将创建数据库。这是一个连接字符串示例:

<add name="Name" connectionString="Data Source=.; Initial Catalog=yourdbName; Integrated Security=True; MultipleActiveResultSets=True;"
      providerName="System.Data.SqlClient" />
于 2019-02-28T07:36:44.330 回答