2012-09-08 114 views
2

我正在使用简单成员身份在Visual Studio 2012 asp.netmvc4上播放。这将在运行后生成5个表格。ASP.NET MVC 4代码第一,如何使用代码首先添加表格

我的问题是我如何添加额外的表?我尝试通过创建一个新模型并在上下文类中添加一个DbSet,但它会抛出错误,说dbo.model在数据库中不存在。表格未创建。

是否有添加模型的标准方式,将生成一个表,而不需要运行db migrations命令?我甚至添加了这个Database.SetInitializer(新的HWMDContextInitializer());我不知道如何使用这个。在应用程序启动但错误仍然存​​在。

+0

通过这是使用EF5视觉工作室2012最终 –

+0

中探寻代码的方式,我理解了它。有一个属性InitializeSimpleMembershipAttribute,它设置Database.SetInitializer (null);所以即使模型有变化,数据库也不会被更新。在添加新的DropCreateDatabaseIfModelChanges ()替换null后,它已经可以工作。 –

回答

0

你试过吗?

protected override void OnStartup(StartupEventArgs e) 
    { 
     base.OnStartup(e); 
     Database.SetInitializer<YourContext>(new DropCreateDatabaseIfModelChanges<YourContext>()); 
+0

在应用程序启动时添加了这个,Database.SetInitializer (new DropCreateDatabaseIfModelChanges ());并且出现错误:由于数据库不包含模型元数据,因此无法检查模型兼容性。只能使用Code First或Code First Migrations创建的数据库检查模型兼容性。 –

+0

DropCreateDatabaseIfModelChanges需要EdmMetadata表来检查模型兼容性。要设置您可能会使用DropCreateDatabaseAlways或CreateDatabaseIfNotExists初始化器的内容。 – lgoncalves