当尝试使用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; }
}
我在数据库中的表
在DataContext
课程中,我有:
public DbSet<MobileUser> MobileUsers { get; set; }
但是当我尝试从数据库中获取用户时,我得到了一个异常
自创建数据库以来,DbContext已发生变化....
当我运行add-migration
命令时,它会生成create table命令。
那我的错是什么?感谢
答案 0 :(得分:5)
通过调用Database.SetInitializer<TContext>(null)
或Database.SetInitializer(new NullDatabaseInitializer<TContext>()
通过将初始化程序设置为null,EF将不再验证数据库架构,并且如果架构更改,将不再创建数据库。更改架构后,您必须自己创建/更新数据库。