我正在使用Visual Studio 2015,Entity Framework v6和SQL Server 2016 Express。在过去,我使用SqlConnection
和SqlCommand
创建了一个数据库,并将SQL填入字符串。
现在,我正在Entity Framework Tutorial教自己EF6。在简单的代码优先示例(非常简单)上,我实际上复制并粘贴了我的代码,但仍然没有看到在SSMS中创建的数据库。我的代码也没有给我任何错误。
我没有粘贴代码,而是截屏。我希望有人可以指出我是什么或教程缺失。
[编辑 - 已解决,有点]
我将相同的代码应用于相同设置的另一台机器并且代码有效。所以我怀疑SQL Server中存在一些损坏,或者某些注册表可能不正确。我卸载了每个SQL Server版本和相关工具,手动删除所有文件夹和文件,然后重新安装SQL Server Express 2016和工具。然后我的代码工作。
我不认为这是一个解决方案,但如果有人能够提出可能导致此问题的原因,我会尝试重新创建或发布真正的解决方案。
答案 0 :(得分:2)
您必须在web.config
文件上提供连接字符串名称,如下所示。
背景:
public SchoolContext(): base("MySchoolDB")
{
}
App.config文件
<add name="MySchoolDB" connectionString="Server=localhost;
Database=YourDBName;Trusted_Connection=True;" providerName="System.Data.SqlClient" />
您可以在此处获取更多详细信息:Database Initialization
答案 1 :(得分:0)
您必须在配置连接字符串后向数据库添加实体,然后DBContext将创建数据库。这是一个连接字符串示例:
<add name="Name" connectionString="Data Source=.; Initial Catalog=yourdbName; Integrated Security=True; MultipleActiveResultSets=True;"
providerName="System.Data.SqlClient" />