在数据库实体框架

时间:2015-04-23 15:22:59

标签: c# entity-framework

我有像这样的DbContext,

     public class EPDContext : TrackerContext
            {
             public EPDContext()
                    : base("name=DevelopmentApplicationServices")
                {
                    Database.SetInitializer<EPDContext>(new EPDDBInitializer());

                    this.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);
                }

               public DbSet<TaskRevision> TaskRevisions { get; set; }
               protected override void OnModelCreating(DbModelBuilder modelBuilder)
               {
                base.OnModelCreating(modelBuilder);

                modelBuilder.Entity<TaskRevision>().HasMany(x => x.Models).WithMany().Map(x => x.MapLeftKey("TaskRevisionID").MapRightKey("ModelId").ToTable("TaskRevision2Models"));


               }
        }



  public class EPDDBInitializer : CreateDatabaseIfNotExists<EPDContext>
        {
            protected override void Seed(EPDContext context)
            {
                    //// My Seeding data goes here
                    base.Seed(context);
            }
        }

我的实体:

 [TrackChanges]
    public class TaskRevision
    {
        #region properties
        [Key]
        public Guid TaskRevisionID { get; set; } 


        public virtual List<Model> Models { get; set; }
   }

我的迁移配置类如下所示:

internal sealed class Configuration : DbMigrationsConfiguration<PW.EPD.Data.EPDContext>
    {
        public Configuration()
        {
            AutomaticMigrationsEnabled = true;
        }

        protected override void Seed(PW.EPD.Data.EPDContext context)
        {

        }
    }

我收到此错误“数据库实体框架中已经有一个名为'TaskRevisions'的对象。”当我执行我的申请。数据库已成功创建,并且没有播种数据。

在删除 onModelCreating()覆盖方法后执行相同代码的同时,db已使用种子数据创建。

我在这里做错了,请指正。 提前致谢

0 个答案:

没有答案