Я получаю эту странную ошибку в рамках Entity, я не могу понять, что я делаю неправильно ..Entity Framework: Недопустимое имя столбца
Мой контекст DB код.
public DbSet<Interaction> Interactions { get; set; }
public DbSet<User> Users { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
InteractionsDBContextConfig(modelBuilder);
base.OnModelCreating(modelBuilder);
}
public static void InteractionsDBContextConfig(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
// Interaction entity configuration.
modelBuilder.Entity<Interaction>()
.HasKey<int>(key => key.InteractionId);
modelBuilder.Entity<Interaction>()
.HasRequired<Form>(x => x.Form)
.WithMany()
.HasForeignKey(y => y.FormId);
modelBuilder.Entity<Interaction>()
.HasRequired<User>(x => x.User)
.WithMany()
.HasForeignKey(y => y.InteractionUserId);
// User entity configuration.
modelBuilder.Entity<User>()
.HasKey<int>(x => x.UserId);
modelBuilder.Entity<User>()
.Property(x => x.UserName)
.IsRequired()
.HasColumnAnnotation(
IndexAnnotation.AnnotationName,
new IndexAnnotation(
new System.ComponentModel.DataAnnotations.Schema.IndexAttribute() { IsUnique = true }
)
);
}
Мои Entity
public class Interaction
{
public int InteractionId { get; set; }
public int FormId { get; set; }
public string InteractionName { get; set; }
public virtual Form Form { get; set; }
public int InteractionUserId { get; set; }
public virtual User User { get; set; }
public DateTime Deadline { get; set; }
public int InteractionType { get; set; }
}
, когда я следующий
var db = dbcontext.Interactions.ToList();
Я получаю следующую ошибку
{ "Неверное имя столбца 'InteractionType'."}
Я не могу понять, почему ошибка появляется, почему Cant Entity framework видит мою колонку? Изменение имени столбца, похоже, не помогает.
Вы мигрировали изменения? Проверьте базу данных, если в таблице есть столбец с именем «InteractionType». –
@TaherRahgooy: Я обновил базу данных, и я вижу столбец с именем InteractionType. – Pratik
Я подозреваю, что вы подключаетесь к другой базе данных при переносе/обновлении и во время выполнения. –