код Entity Framework: обновите SetInitializer выдает исключение

Я много часов искал эту странную ошибку, но ничего не нашел. У меня очень простая сущность:

public class Company {
    public Guid Id { get; set; }
    public string Name { get; set; }
}

А вот контекст:

public class MyDBContext : DbContext {

    public DbSet<Company> Companies { get; set; }

}

При первом запуске все работает нормально. Но когда я меняю сущность (например, я помещаю атрибут [Key] для Id), я получаю ожидаемую ошибку «модель изменилась» или что-то еще. Итак, я ввожу это в Global.asax application_start:

Database.SetInitializer<MyDBContext>
(new DropCreateDatabaseIfModelChanges< MyDBContext >());

Вот где я застрял. Ошибки компиляции нет, компилируется без ошибок / предупреждений. Но когда я запускаю свой проект, я получаю следующую ошибку:

Описание: необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее происхождении в коде.

Сведения об исключении: System.TypeLoadException: GenericArguments [0], 'MyDB.Data.MyDBContext', в 'System.Data .Entity.IDatabaseInitializer1 [TContext] 'нарушает ограничение параметра типа' TContext '.

Пожалуйста, есть ли у кого-нибудь ключ? Я использую Entity Framework 4.1 (CTP5)

7
задан Esteban 19 May 2013 в 20:37
поделиться