0

DbContext() クラスで宣言されたクラスを使用したい。そのために、Model フォルダーにもう 1 つのクラスを 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データベースの初期化戦略を引数として取ります。これは、既存の戦略 ( CreateDatabaseIfNotExistsDropCreateDatabaseAlwaysDropCreateDatabaseIfModelChanges、またはMigrateDatabaseToLatestVersion) またはnull(初期化戦略がない場合、つまり何もしない) の 1 つです。シード データの場所ではありません。これは、 (Migrations フォルダー内の)Seedメソッドに入れる必要があります。DbMigrationsConfiguration

于 2013-03-12T17:04:19.350 に答える