Gkrish
Gkrish

Reputation: 1881

The model backing the 'EmployeeDetailsContext' context has changed since the database was created.

Hi i am using Entity framework with Fluent API to create table in DB.when i am creating my first project it work fine .Table has created in mentioned database.when trying to create second project it show error

The model backing the 'EmployeeDetailsContext' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269).

i want create table in db respect to my value( EmployeeDetails.cs)

EmployeeDetails.cs is

public class EmployeeDetails
    {
        public int EmployeeId { get; set; }
        //[StringLength(20)]
        public string FirstName { get; set; }

       //[StringLength(20)]
        public string LastName { get; set; }
        //[MaxLength(3)]

        public int EmpAge { get; set; }
        //[StringLength(100)]
        public string Address { get; set; }

        public int MobileNO { get; set; }

        public int EmpRankId { get; set; }

        public string JobTitle { get; set; }
    }

EmployeeDetailsContext.cs

public class EmployeeDetailsContext:DbContext
    {
        public DbSet<EmployeeDetails> employeedet { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);

            // The primary Key for the EmployeeId
            modelBuilder.Entity<EmployeeDetails>().HasKey(t => t.EmployeeId);


            // The Identity Key for the EmployeeId
            modelBuilder.Entity<EmployeeDetails>().Property(c => c.EmployeeId).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);

            //max length for FirstName
            modelBuilder.Entity<EmployeeDetails>()
                        .Property(d => d.FirstName).IsRequired()
                        .HasMaxLength(20);

            //max length for LastName
            modelBuilder.Entity<EmployeeDetails>()
                       .Property(d => d.LastName).IsRequired()
                      .HasMaxLength(20);

            modelBuilder.Entity<EmployeeDetails>()
                     .Property(d => d.EmpAge).IsOptional();

            modelBuilder.Entity<EmployeeDetails>()
                      .Property(d => d.Address).IsOptional();

            //modelBuilder.Entity<Employee>()
            //         .Property(d => d.MobileNO).IsRequired();

            modelBuilder.Entity<EmployeeDetails>()
                      .Property(d => d.EmpRankId).IsRequired();

            modelBuilder.Entity<EmployeeDetails>()
                     .Property(d => d.JobTitle).IsOptional();

        }
    }

connection string is

 <connectionStrings>

  <add name="EmployeeDetailsContext" connectionString="Data Source=inchser001\inchdb002; database=Test1;Persist Security Info=True;User ID=sa;Password=*******" providerName="System.Data.SqlClient" />

 </connectionStrings>

when i am creating my first project it work fine .Table has created in mentioned database.when trying to create second project it show error

The model backing the 'EmployeeDetailsContext' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269).

i want create table in db respect to my value( EmployeeDetails.cs)

i have try some sugg (https://stackoverflow.com/) but it not working...

provide some idea it will help me to move further

Upvotes: 2

Views: 2158

Answers (1)

Sven Grosen
Sven Grosen

Reputation: 5636

You simply need to do as the error message states: use Code First Migrations.

  1. Enable code migrations by opening the package console window in VS (TOOLS->NuGet Package Manager->Package Manager Console)
  2. Run the command "Enable-Migrations" there
  3. Assuming you don't need to change anything in the context, run "Add-Migration X" with X being whatever name you want to give this migration
  4. Then simply run "Update-Database"

Reference

Upvotes: 3

Related Questions