1

I try to create database from entity framework code first follow with this tutorial

http://www.asp.net/mvc/tutorials/getting-started-with-mvc3-part4-cs

but I use SQL Server 2005 instead when SQLExpress but When I execute solution don't have anything create. What wrong with my code

This is my code.

Movie.cs

public class Movie
{
    public int ID { get; set; }
    public string Title { get; set; }
    public DateTime ReleaseDate { get; set; }
    public string Genre { get; set; }
    public decimal Price { get; set; }
}

public class MovieDBContext : DbContext
{
    public DbSet<Movie> Movies { get; set; }
}

And this is my connection string in web.config

<add name="MovieDBContext" 
     connectionString="data source=...;Integrated Security=SSPI;initial catalog=MovieDB;User Id=...;Password=..."
     providerName="System.Data.SqlClient" />

What Wrong with my code? Why database wasn't created.

thank you every one to help me.

3 Answers 3

3

The database is not created until it is used for the first time. You must do any of following to trigger database creation:

  • Create instance of your context and retrieve or persist any data
  • Create instance of your context and call context.Database.CreateIfNotExists()
  • Create instance of your context and call context.Database.Initialize(false)
  • Create instance of your context and call context.Database.Create()
Sign up to request clarification or add additional context in comments.

1 Comment

Thank you very much for your answer. I so confuse with this for along time.
0

Have you added initialize methid in application start in your Global.asax file

 Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MovieDBContext>());

1 Comment

Yes, I try to add them in my code but don't have anything happen
0

Here's mine. I'm forcing database init, then ditching the context, then I'm force seeding it. I couldn't get the default behaviour to work with both Oracle and SQL CE.

var initer = new PPContextInitializer();
Database.SetInitializer<MovieDBContext >(new DropCreateDatabaseIfModelChanges<MovieDBContext >());

using (var db = new MovieDBContext())
{
    db.Database.Initialize(true);
}

using (var db1 = new MovieDBContext())
{
    initer.Seed(db1);
}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.