Estoy leyendo este libro e intenta usar el inicializador para crear la base de datos cada vez que se ejecuta la aplicación, por lo que el fragmento de código es así:
protected void Application_Start() { Database.SetInitializer(new DropCreateDatabaseAlways<MusicStoreDB>()); AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); }No puedo entender esta parte:
new DropCreateDatabaseAlways<MusicStoreDB>() ¿Cuál es esta sintaxis? ¿Qué significa <MusicStoreDB>() ?
Sé que no es una pregunta elegante, pero necesito ayuda aquí.
Gracias.
Esa sintaxis se llama genéricos . En pocas palabras (muy pequeñas), imagina que tu aplicación tiene más de una base de datos (p. ej., MusicStoreDB, MovieStoreDB, etc.), podrías usar la misma clase DropCreateDatabaseAlways con los diferentes tipos de bases de datos. En otras palabras, los genéricos le permiten definir clases y funciones que pueden actuar en muchos tipos diferentes, por ejemplo
List<int>, List<string>, List<MyAwesomeClass>
DropCreateDatabaseAlways es la clase base del inicializador de la base de datos. MusicStoreDB es la base de datos que se eliminará y volverá a crear cada vez que se inicie la aplicación. DropCreateDatabaseAlways<MusicStoreDB>() es el código que hace eso