Entity Framework не показывает базу данных

Работа с функцией Code First Entity Framework 4.1 с использованием проекта ASP.NET MVC 3.

Однако база данных (SQL Server 2008 R2) не создает автоматически сопоставление таблиц при запуске приложения. Есть идеи, как это сделать?

using System;
using System.Data.Entity;
namespace MvcMovie.Models { 
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; }
} 
}

В файле global.asax

protected void Application_Start()
{
        AreaRegistration.RegisterAllAreas();

        RegisterGlobalFilters(GlobalFilters.Filters);
        RegisterRoutes(RouteTable.Routes);
}
}

Пожалуйста, помогите?? Я начинающий? Даже вы могли бы предложить некоторые материалы для чтения для asp.net, это было бы очень полезно?

1 ответ

Решение

Вот хороший обзор. Вы можете использовать запись конфигурации:

<entityFramework>
  <contexts>
    <context type="ContosoUniversity.DAL.SchoolContext, ContosoUniversity">
      <databaseInitializer type="ContosoUniversity.DAL.SchoolInitializer, ContosoUniversity" />
    </context>
  </contexts>
  <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
    <parameters>
      <parameter value="v11.0" />
    </parameters>
  </defaultConnectionFactory>
  <providers>
    <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
  </providers>
</entityFramework>

Или настройте его с помощью кода, как указано здесь:

Database.SetInitializer(new DropCreateDatabaseAlways<BlogContext>());
using (var db = new BlogContext())
{
    db.Database.Initialize(false);
    ...
}
Другие вопросы по тегам