Update database in Entity Frameword Code first
1. create model (class for table)
public class Customer
{
[Key]
public string CustCode { get; set; }
public string Name { get; set; }
public string Address1 { get; set; }
}
2. create DB context:
public class AMWinDBContext: DbContext
{
public AMWinDBContext(): base("AMWinDBContext")
{ }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
public virtual DbSet<Customer> Customers { get; set; }
public virtual DbSet<Employee> Employees { get; set; }
public virtual DbSet<JobSchedule> JobSchedules { get; set; }
public virtual DbSet<PartType> PartTypes { get; set; }
public virtual DbSet<Part> Parts { get; set; }
}
4. create initial database
public class AMWinDBInitializer: System.Data.Entity.DropCreateDatabaseIfModelChanges<AMWinDBContext>
{
protected override void Seed(AMWinDBContext context)
{
var customers = new List<Customer>()
{
new Customer() { CustCode="CUST01",Name="Customer test 1",Phone="123456789",Address1="204 Queen st, St Marys",StateAddress="NSW",Email="a1.a.com"},
new Customer() { CustCode="CUST02",Name="Customer test 2",Phone="223456789",Address1="205 Queen st, St Marys",StateAddress="NSW",Email="a2.a.com"},
new Customer() { CustCode="CUST03",Name="Customer test 3",Phone="323456789",Address1="206 Queen st, St Marys",StateAddress="NSW",Email="a3.a.com"},
new Customer() { CustCode="CUST04",Name="Customer test 4",Phone="423456789",Address1="207 Queen st, St Marys",StateAddress="NSW",Email="a4.a.com"},
};
customers.ForEach(s => context.Customers.Add(s));
context.SaveChanges();
....
}
5 run seed database
- Delete Migration folder in project
- enable-migrations -Force
-add-migration Initial
public class Customer
{
[Key]
public string CustCode { get; set; }
public string Name { get; set; }
public string Address1 { get; set; }
}
2. create DB context:
public class AMWinDBContext: DbContext
{
public AMWinDBContext(): base("AMWinDBContext")
{ }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
public virtual DbSet<Customer> Customers { get; set; }
public virtual DbSet<Employee> Employees { get; set; }
public virtual DbSet<JobSchedule> JobSchedules { get; set; }
public virtual DbSet<PartType> PartTypes { get; set; }
public virtual DbSet<Part> Parts { get; set; }
}
4. create initial database
public class AMWinDBInitializer: System.Data.Entity.DropCreateDatabaseIfModelChanges<AMWinDBContext>
{
protected override void Seed(AMWinDBContext context)
{
var customers = new List<Customer>()
{
new Customer() { CustCode="CUST01",Name="Customer test 1",Phone="123456789",Address1="204 Queen st, St Marys",StateAddress="NSW",Email="a1.a.com"},
new Customer() { CustCode="CUST02",Name="Customer test 2",Phone="223456789",Address1="205 Queen st, St Marys",StateAddress="NSW",Email="a2.a.com"},
new Customer() { CustCode="CUST03",Name="Customer test 3",Phone="323456789",Address1="206 Queen st, St Marys",StateAddress="NSW",Email="a3.a.com"},
new Customer() { CustCode="CUST04",Name="Customer test 4",Phone="423456789",Address1="207 Queen st, St Marys",StateAddress="NSW",Email="a4.a.com"},
};
customers.ForEach(s => context.Customers.Add(s));
context.SaveChanges();
....
}
5 run seed database
From the Tools menu, select NuGet Package Manager, and then select Package Manager Console.
In the Package Manager Console window, enter the following command:
- enable-migrations -ContextTypeName AMWinWebAPI.DAL.AMWinDBContext
- add-migration Initial
- update-database
- Delete Migration folder in project
- enable-migrations -Force
-add-migration Initial
Comments
Post a Comment