繁体   English   中英

无法使用Code-First创建数据库

[英]Cannot create database with Code-First

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

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

我没有粘贴代码,而是截图。 我希望有人可以指出我是什么或缺少教程。

在此输入图像描述

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

[编辑 - 解决,有点]

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

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

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

背景:

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

        }

App.config文件

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

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

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

<add name="Name" connectionString="Data Source=.; Initial Catalog=yourdbName; Integrated Security=True; MultipleActiveResultSets=True;"
      providerName="System.Data.SqlClient" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM