estoy teniendo este tipo de cuestiones "misteriosa" aquí. Actualmente uso Entity Framework 4.1 Code First approach con mi aplicación ASP.NET MVC 3, funcionó de maravilla, hasta ayer ...Entity Framework Database.SetInitializer simplemente no trabaja
Ocurrió algo realmente malo que causó que Database.SetInitializer dejara de funcionar. Explicado:
que tienen este modelo simple
public class User
{
public int Id { get; set; }
public int RoleId { get; set; }
[Required]
[StringLength(50)]
[DataType(DataType.Text)]
public string Login { get; set; }
[Required]
[StringLength(150)]
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
[Required]
[StringLength(32)]
[DataType(DataType.Password)]
public string Password { get; set; }
[DataType(DataType.DateTime)]
public DateTime RegisteredDate { get; set; }
public virtual Role Role { get; set; }
}
Y aquí es mi DbContext
public class MyContext : DbContext
{
public DbSet<Models.User> Users { get; set; }
}
también que la configuración de inicialización personalizado (para la prueba)
public class MyInitializer
: DropCreateDatabaseIfModelChanges<MyContext>
{
}
Ahora que ya cadena de conexión en la configuración Web.config (con el nombre mismo que MyContext)Asíen Global.asax que llamo el código simple en Application_Start método
Database.SetInitializer(new MyInitializer());
() Pero el problema es que Database.SetInitializer WONT crear cualquier base de datos, y lo que es peor, también ni siquiera tratar de llenar base de datos existente con mesas de contexto ... traté de depuración, pero parece que la aplicación simplemente saltar por encima de la base de datos de código de inicialización ...
he encontrado una solución, es utilizar esta línea de código
var ctx = new MyContext();
ctx.Database.Initialize(true);
Así que aquí estoy forzando código para crear DB de todos modos ...
Pero el hecho de que Database.SetInitializer no funcione realmente es molesto ... funcionó muy bien antes, no sé lo que pasó. miré en eventos revista ventanas, los registros del servidor SQL ... pero no hay nada allí. Solo silencio. Pero tal vez Im simplemente buscando en el lugar equivocado? : S
Alguien puede decirme lo que está pasando?
P.S Estoy utilizando Visual Web Developer 2010 + SQL Server 2008 R2
Sí funciona ... Gracias. Realmente me olvidé de todas esas cosas de "carga lenta". :) – geCoder