实体框架COde FIrst迁移现有表

时间:2015-09-08 08:51:43

标签: entity-framework code-first ef-migrations

我有一个(奇怪的)情况。 我正在使用Entity Framework Code First,但我必须附加到现有数据库。

我不必在对象模型中映射数据库的每个表。所以我想在需要的时候迁移单个表。 我试着更好地解释一下。我的数据库有大约100个表,但是我需要在我的模型中映射3或4.我已经在c#中创建了我的类,现在我想用我需要的表来映射这些类。

有可能吗?我是否必须进行迁移?

更新 我的班级在这里:

[["1" "2" "3"] ["a" "b" "c"]]
;;=> ["1" "2" "3"] ["a" "b" "c"]

[["1" "2" "3"] ["a" "b" "c"] ["10" "20" "30"]]
;=> ["1" "2" "3"] ["a" "b" "c"] ["10" "20" "30"]

这里是上下文:

public class PricePlan
{
    public Guid Id { get; set; }
    public String Name { get; set; }
    public Double ActivationPrice { get; set; }
}

这里的表格:

public class PublicAreaContext : DbContext 
{
    public DbSet<PricePlan> PricePlans { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<PricePlan>()
            .HasKey(pp => new { pp.Id });

        base.OnModelCreating(modelBuilder);
    }
}

1 个答案:

答案 0 :(得分:2)

可能:是的

迁移:没有。如果你需要迁移,你可能会遇到问题,因为在这种情况下你没有__migrationHistory表(因为db是“现有的”与“由EF创建”相反)。

但答案肯定是肯定的。

创建你的类,创建一个包含DbSet的DbContext,“etvoilà”。