Я много часов искал эту странную ошибку, но ничего не нашел. У меня очень простая сущность:
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)