简体   繁体   中英

Cannot create database with Code-First

I am using Visual Studio 2015, Entity Framework v6, and SQL Server 2016 Express. In the past I created a database using a SqlConnection and SqlCommand and stuff the SQL into a string.

Now, I am teaching myself EF6 on Entity Framework Tutorial . On the simple code-first example (very simple), I literally copy and paste my code but still do not see the database created in SSMS. Neither does my code throw me any error.

Instead of pasting the code, I did a screenshot. I hope someone can point out what I am or the tutorial is missing.

在此输入图像描述

[EDIT] Following Sampath's suggestion, I end up getting the following error: 在此输入图像描述 在此输入图像描述

[EDIT - Solved, sort of]

I apply the same code to another machine of same setup and the code works. So I suspect there are some corruption in the SQL Server or perhaps some registry is incorrect. I uninstall EVERY SQL Server version and related tools, delete all folders and files manually, then freshly reinstall SQL Server Express 2016 and tools. Then my code works.

I don't see this as a solution, but if someone can suggest what may have cause this problem I will try to recreate it or post a real solution to it.

You have to give the connection string name on the web.config file as shown below.

Context :

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

        }

App.config file

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

You can get more details here : Database Initialization

You have to add entity to your database after configuring connection string, then DBContext will create database. Here is a connection string example:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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