Estoy desarrollando una aplicación ASP.NET MVC 4 utilizando VS 2010 y EF 4.3. Recupera algunos datos de una base de datos externa y todo funcionó como se esperaba hasta que intenté recompilarlo un día. Después de la compilación recibo el siguiente error EF:Entity Framework 4.3. Nombre de columna inválido 'CreatedOn'
Invalid column name 'CreatedOn'.
Sin DB o se realizaron cambios de código - Yo simplemente he añadido algunas hendiduras para facilitar la lectura. Las versiones de aplicaciones anteriores de TFS también arrojan la misma excepción.
No tengo CreatedOn
propiedad en mis entidades y no hay tal campo en la base de datos y no lo necesito y no lo quiero en cualquier caso.
¿Qué se debe hacer para evitar esta excepción?
Esta es mi costumbre contexto DB que utilizo para acceder a los datos:
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);
}
}
y esta es la clase Label
public class BaseEntity : IDataEntity
{
public int Id { get; set; }
public string Name { get; set; }
public string ChangedBy { get; set; }
}
public class Label : BaseEntity
{
}
¿Se puede publicar la clase 'Etiqueta'? – Eranga
Esta es la clase Label: clase pública BaseEntity: IDataEntity { public int Id {get; conjunto; } cadena pública Nombre {get; conjunto; } cadena pública ChangedBy {get; conjunto; }} clase pública Label: BaseEntity {} – msaruyev
Este problema también se discute aquí: http://stackoverflow.com/questions/19646659/createdon-column-in-entity-framework-6 – AXMIM