Zajmuję się tworzeniem aplikacji ASP.NET MVC 4 przy użyciu VS 2010 i EF 4.3. Pobieranie niektórych danych z zewnętrznej bazy danych i wszystko działało zgodnie z oczekiwaniami, dopóki nie próbowałem przekompilować go w jeden dzień. Po kompilacji otrzymuję następujący błąd EFEntity Framework 4.3. Nieprawidłowa nazwa kolumny "CreatedOn"
Invalid column name 'CreatedOn'.
No dB lub zmiany kodu zostały wykonane - Ja po prostu dodaje jakieś wgniecenia dla czytelności. Poprzednie wersje aplikacji z TFS również generują ten sam wyjątek.
Nie mam żadnej właściwości w moich jednostkach i nie ma takiego pola w bazie danych, więc nie potrzebuję tego i nie chcę tego w żadnym wypadku.
Co należy zrobić, aby uniknąć tego wyjątku?
To jest mój zwyczaj kontekst DB używam danych Access:
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);
}
}
I to jest klasa Label
public class BaseEntity : IDataEntity
{
public int Id { get; set; }
public string Name { get; set; }
public string ChangedBy { get; set; }
}
public class Label : BaseEntity
{
}
Czy możesz opublikować klasę "Label"? – Eranga
To jest klasa etykiety: klasa publiczna BaseEntity: IDataEntity { public int Id {get; zestaw; } public string Name {get; zestaw; } public string ChangedBy {get; zestaw; }} public class Label: BaseEntity {} – msaruyev
Ten problem jest również omówione tutaj: http://stackoverflow.com/questions/19646659/createdon-column-in-entity-framework-6 – AXMIM