我想使用在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()的第一行解决我的错误问题。
答案 0 :(得分:0)
SetInitializer
将数据库初始化策略作为参数。这是现有策略之一(CreateDatabaseIfNotExists
,DropCreateDatabaseAlways
,DropCreateDatabaseIfModelChanges
或MigrateDatabaseToLatestVersion
)或null
(对于没有初始化策略,即不做任何事情)。它不是种子数据的地方。这应该放在Seed
(迁移文件夹中)的DbMigrationsConfiguration
方法中。