Entityframework 6.02种子方法未被调用

时间:2014-01-24 13:44:40

标签: c# asp.net entity-framework

我正在使用visual studio 2012在我的webapi项目中首先尝试实体框架(6.02)代码。

以下是简单的模型,数据库上下文和我的定制初始化器来播种数据。现在,当我按下f5并运行我的代码时,它没有按种子方法调试器,并且没有数据库正在为我创建我使用种子方法提供的命令。

namespace silverstar.wapi.Models
{
    public class Order
    {
        public int OrderId { get; set; }
        public string Title { get; set; }
        public int TotalItems { get; set; }
        public int ProcessedItems { get; set; }
        public int InProgress { get; set; }
        public decimal Percentage { get; set; }
        public string Description { get; set; }

    }

    public class SilverStarContext : DbContext
    {
        public DbSet<Order> Orders { get; set; }
    }

    public class SilverStarInitalizer : DropCreateDatabaseIfModelChanges<SilverStarContext>
    {
        protected override void Seed(SilverStarContext context)
        {
            var orders = new List<Order> { 

                new Order { OrderId=1, TotalItems=200, InProgress=100, ProcessedItems =100, Percentage=50, Title="fifa 2014"},
                new Order { OrderId=2, TotalItems=400, InProgress=200, ProcessedItems =200, Percentage=50, Title="green soccer 2014"}
            };

            orders.ForEach(o => context.Orders.Add(o));
            context.SaveChanges();

//            base.Seed(context);
        }

    }
}

在我的global.asax.cs文件中,我有以下代码

protected void Application_Start()
        {
            Database.SetInitializer <SilverStarContext>(new SilverStarInitalizer());

        }

1 个答案:

答案 0 :(得分:0)

您必须实例化DbContext并尝试在构建模型之前使用它