Ich entwickle eine ASP.NET MVC 4-Anwendung mit VS 2010 und EF 4.3. Es ruft einige Daten von einer externen Datenbank ab und alles hat wie erwartet funktioniert, bis ich eines Tages versuchte, es neu zu kompilieren. Nach der Zusammenstellung erhalte ich folgende EF Fehler:Entity Framework 4.3. Ungültiger Spaltenname 'CreatedOn'
Invalid column name 'CreatedOn'.
Keine DB oder Code-Änderungen vorgenommen wurden - ich habe einfach ein paar Einbuchtungen für Lesbarkeit hinzugefügt. Die vorherigen Anwendungsversionen von TFS werfen auch die gleiche Ausnahme.
Ich habe keine CreatedOn
Eigenschaft in meinen Entitäten und kein solches Feld in der Datenbank und ich brauche es nicht und will es in keinem Fall.
Was sollte getan werden, um diese Ausnahme zu vermeiden?
Dies ist meine benutzerdefinierte DB Kontext ich den Zugriff auf Daten verwenden:
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);
}
}
Und das ist die Label-Klasse
public class BaseEntity : IDataEntity
{
public int Id { get; set; }
public string Name { get; set; }
public string ChangedBy { get; set; }
}
public class Label : BaseEntity
{
}
Können Sie die Klasse "Label" veröffentlichen? – Eranga
Dies ist die Label-Klasse: Öffentliche Klasse BaseEntity: IDataEntity { public int Id {get; einstellen; } public string Name {get; einstellen; } öffentliche Zeichenkette ChangedBy {get; einstellen; }} public class Label: BaseEntity {} – msaruyev
Dieses Problem kann auch hier diskutiert wird: http://stackoverflow.com/questions/19646659/createdon-column-in-entity-framework-6 – AXMIM