自创建数据库以来,支持<mydb>上下文的模型已更改</mydb>

时间:2015-03-21 06:18:52

标签: c# asp.net-mvc asp.net-mvc-3 razor

  

大家好

     

我是.net MVC3的新用户我在Web.config文件中创建了一个连接字符串,连接已成功创建。下面是我的连接代码

<add name="StoreDB" connectionString="Data Source=AMIT-PC;Initial Catalog=Store;User ID=sa;Password=****;Integrated Security=False"
  providerName="System.Data.SqlClient" />
  

之后我为数据库表连接创建了DBConfig.cs类文件,下面是我的代码

  public class Store : DbContext
  {
    public Store()
    {

    }
    public DbSet<RegisterModel> myapp { get; set; }    
    public DbSet<Application> ApplicationFormModels { get; set; }
  }
  

基本上我创建了两个模型。首先是RegisterModel,Seconds是Application模型。   当我运行此代码时出现错误

     

自创建数据库以来,支持上下文的模型已更改。

     

当我只使用一个DbSet<RegisterModel>时,表格成功创建,并且所有CURD操作都已成功完成,但当我创建多个DbSet时发生错误。

     

以下是截图   enter image description here

     

期待您的投入

     

先谢谢

1 个答案:

答案 0 :(得分:0)

转到

Global.asax - &gt; Application_Start()并添加Database.SetInitializer<YourDbContext>(null);

当您创建模型时,EF中的Code first会将其映射到您的数据库。它会创建模式的哈希值,该模式位于使用数据库创建的EdmMetadata表中。现有数据库将不具有EdmMetadata表因此,如果该表缺失,则不会有has并且实现将抛出。

或者您也可以执行以下操作

 protected override void OnModelCreating(System.Data.Entity.ModelConfiguration.ModelBuilder modelBuilder) 
 { 
   modelBuilder.IncludeMetadataInDatabase = false; 
 } 
你的dbcontext

中的