2015-07-08 7 views
1

У меня есть проект, который работает отлично в течение длительного времени. Когда я попытался отладить проект сегодня, он сказал, что не может найти Entity Framework. Я думал, что это было странно, поэтому я попытался установить последнюю версию Entity Framework. Теперь, когда он загружается, я получаю следующую ошибку, которой у меня никогда не было:Entity Framework перестала работать

Неверное имя объекта 'dbo.Events'.

В базе данных нет таблиц событий. Это происходит, когда он попадает следующий код:

myModel mmContext = new myModel(); 
DateTime compareDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); 
List<Event> evs = mmContext.Events.Where(e => e.ListId == 1 && e.endDate >= compareDate).OrderBy(e => e.startDate).ToList(); 

Какие необходимо использовать следующую модель:

public class myModel : DbContext 
{ 
    public myModel() 
     : base("myConnection") 
    { } 

    public DbSet<Event> Events { get; set; } 
} 

[Table("EventCatalog_Events")] 
public class Event 
{ 
    [Key] 
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] 
    public int EventId { get; set; } 
    etc... 
} 

Я в недоумении, почему он начал делать это и как это исправить. Есть идеи?

+1

Неверное имя объекта 'dbo.Events'. В базе данных нет таблиц событий. Но вы сопоставляете таблицу db «EventCatalog_Events» с «Событием». Разве это не ?? –

+0

Да, это значит, что это отображение в EventCatalog_Events, но это отображение, похоже, перестало работать. Visual Studio не сообщает о каких-либо ошибках. – HuwD

+0

Это, кажется, влияет на все мои проекты. Пытаюсь не паниковать ... – HuwD

ответ

1

Удалось вернуть проекты, выполнив ремонт на Visual Studio. Все еще не уверен, что именно вызвало проблему.

UPDATE не Оказывается, проблема была Entity Framework 6. Очевидно, он больше не поддерживает [Table («имя_таблицу»)] аннотации данных из-за того чисто кодом первым. Как только я вернусь к Entity Framework 5.0.0, он снова начал работать.

Смежные вопросы