0
我在一個應用程序(WinForm的+ ServiceStack Web服務),並在APPHOST工作時,我嘗試了一些數據存儲在MySQL數據庫得到這個錯誤:MYSQL +的EntityFramework「Backmodel已經改變了」
我的天堂沒有改變模型。我該如何解決這個問題?
這裏是MyDbContext
public class MySqlContext : System.Data.Entity.DbContext
{
public System.Data.Entity.DbSet<LoginModel> LoginModels { get; set; }
public System.Data.Entity.DbSet<Role> Roles { get; set; }
public System.Data.Entity.DbSet<Permission> Permissions { get; set; }
public MySqlContext()
: base("ConnectionStringName")
{
Database.SetInitializer <MySqlContext>(null);
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<LoginModel>().HasMany(lm => lm.roles).WithMany(r => r.Users)
.Map(
m =>
{
m.MapLeftKey("lm_Id");
m.MapRightKey("role_Id");
m.ToTable("login_roles");
}
);
modelBuilder.Entity<Role>().HasMany(r => r.Permissions).WithMany(p => p.Roles)
.Map(
m =>
{
m.MapLeftKey("role_id");
m.MapRightKey("per_id");
m.ToTable("roles_permissions");
}
);
}
}
很抱歉,但我不明白的Add(新用戶映射( )); ,請檢查我的更新我已經添加了我的DbContext.cs @pravprab –
@ user1629278你不需要添加(新的UserMap()); 。在這個例子中,在DB中使用表映射實體。我刪除它以避免混淆 – pravprab
Database.SetInitializer(null);你的DbContext已經存在了嗎?如果它在那裏,我的回答是無關緊要的:-( –
pravprab