0

我想使用在 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() 的第一行出错的问题。

4

1 回答 1

0

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

于 2013-03-12T17:04:19.350 回答