在MVC4应用程序中生成连接字符串

时间:2013-03-12 16:30:19

标签: asp.net mysql asp.net-mvc web-config global-asax

我想使用在DbContext()类中声明的类。 为此,我还在我的Model文件夹中添加了一个类SampleData()。 我还在项目中添加了App_Data文件夹。

我在Application_start()中的Global.asax中编写代码时出现问题 如,

protected void Application_Start()
        {
            System.Data.Entity.Database.SetInitializer(new MusicStore.Models.SampleData());
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            AuthConfig.RegisterAuth();
        }

但它在Application_start()

内的代码的第一行给出了错误

我还将连接字符串设为,

  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MusicStore-20130311211949;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-MusicStore-20130311211949.mdf" providerName="System.Data.SqlClient" />
  </connectionStrings>

请建议我如何在Applicatio_Start()的第一行解决我的错误问题。

1 个答案:

答案 0 :(得分:0)

SetInitializer将数据库初始化策略作为参数。这是现有策略之一(CreateDatabaseIfNotExistsDropCreateDatabaseAlwaysDropCreateDatabaseIfModelChangesMigrateDatabaseToLatestVersion)或null(对于没有初始化策略,即不做任何事情)。它不是种子数据的地方。这应该放在Seed(迁移文件夹中)的DbMigrationsConfiguration方法中。