我正在阅读本书,并且每次应用程序运行时,它都会尝试使用初始化程序来创建数据库,因此代码片段如下所示:

protected void Application_Start() {
    Database.SetInitializer(new DropCreateDatabaseAlways<MusicStoreDB>());

    AreaRegistration.RegisterAllAreas();
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
    RouteConfig.RegisterRoutes(RouteTable.Routes);
    BundleConfig.RegisterBundles(BundleTable.Bundles);
}


我听不懂这部分:

 new DropCreateDatabaseAlways<MusicStoreDB>()


这是什么语法? <MusicStoreDB>()是什么意思?

我知道这不是一个花哨的问题,但是在这里我需要帮助。

谢谢。

最佳答案

该语法称为generics。简而言之,假设您的应用程序具有多个数据库(例如MusicStoreDB,MovieStoreDB等),则可以将相同的DropCreateDatabaseAlways类与不同的db类型一起使用。换句话说,泛型让您定义可以作用于许多不同类型的类和函数,例如

List<int>, List<string>, List<MyAwesomeClass>

10-04 17:27