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);
...
}