Sto sviluppando un'applicazione ASP.NET MVC 4 utilizzando VS 2010 e EF 4.3. Recupera alcuni dati da un database esterno e tutto ha funzionato come previsto fino a quando non ho provato a ricompilarlo un giorno. Dopo la compilazione ricevo il seguente errore EF:Entity Framework 4.3. Nome colonna non valido 'CreatedOn'
Invalid column name 'CreatedOn'.
No DB o sono state apportate modifiche al codice - ho semplicemente aggiunto alcune rientranze per la leggibilità. Anche le precedenti versioni dell'applicazione di TFS generano la stessa eccezione.
Non ho la proprietà CreatedOn
nelle mie entità e nessun campo del genere nel database e non ne ho bisogno e non lo voglio in ogni caso.
Cosa si deve fare per evitare questa eccezione?
Questo è il mio contesto personalizzato DB uso per l'accesso ai dati:
public class MyContext<T> : DbContext where T : class, IDataEntity
{
public MyContext(string connectionKey)
: base("name=" + connectionKey)
{
Configuration.AutoDetectChangesEnabled = false;
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Label>().Property(item => item.Id).HasColumnName("LabelId");
modelBuilder.Entity<Label>().Ignore(item => item.ChangedBy);
}
}
e questa è la classe Label
public class BaseEntity : IDataEntity
{
public int Id { get; set; }
public string Name { get; set; }
public string ChangedBy { get; set; }
}
public class Label : BaseEntity
{
}
Puoi pubblicare la classe 'Label'? – Eranga
Questa è la classe Label: public class BaseEntity: IDataEntity { public int Id {get; impostato; } stringa pubblica Nome {get; impostato; } public string ChangedBy {get; impostato; }} public class Etichetta: BaseEntity {} – msaruyev
Questo problema è stato discusso anche qui: http://stackoverflow.com/questions/19646659/createdon-column-in-entity-framework-6 – AXMIM