使用Entity Framework映射到现有表

时间:2015-08-05 09:04:17

标签: c# entity-framework

当尝试使用Entity Framework将我的类映射到现有表时,我遇到了一些困难。

我的课程:

[Table("builder_User")]
public class MobileUser
{
    [Key]
    [Column("id")]
    public int Id { get; set; }
    [Column("beansCount")]
    public int BeansCount { get; set; }
    [Column("bonusSum")]
    public double BonusSum { get; set; }
    [Column("facebookUsername")]
    public string FacebookUserName { get; set; }
    [Column("firstName")]
    public string FirstName { get; set; }
    [Column("lastName")]
    public string LastName { get; set; }
    [Column("guid")]
    public string Guid { get; set; }
    [Column("job")]
    public string Job { get; set; }
    [Column("purchasedSum")]
    public double PurchasedSum { get; set; }
    [Column("facebookId")]
    public string FacebookId { get; set; }

}

我在数据库中的表

enter image description here

DataContext课程中,我有:

public DbSet<MobileUser> MobileUsers { get; set; }

但是当我尝试从数据库中获取用户时,我得到了一个异常

  

自创建数据库以来,DbContext已发生变化....

当我运行add-migration命令时,它会生成create table命令。

那我的错是什么?感谢

1 个答案:

答案 0 :(得分:5)

通过调用Database.SetInitializer<TContext>(null)Database.SetInitializer(new NullDatabaseInitializer<TContext>()

将初始值设定项设置为null

通过将初始化程序设置为null,EF将不再验证数据库架构,并且如果架构更改,将不再创建数据库。更改架构后,您必须自己创建/更新数据库。