Как исправить ошибку преобразования datetime2 вне диапазона, используя DbContext и SetInitializer?
==================================================================================================

 Я использую API-интерфейсы DbContext и Code First, представленные в Entity Framework 4.1. 

 Модель **данных** использует базовые типы данных, такие как `string` и `DateTime` . Единственная аннотация данных, которую я использую в некоторых случаях, - это `[Required]` , но это не относится ни к одному из свойств `DateTime` . Пример: 

```
public virtual DateTime Start { get; set; }

```
  **Подкласс DbContext** также прост и выглядит следующим образом: 

```
public class EventsContext : DbContext
{
    public DbSet<Event> Events { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Event>().ToTable("Events");
    }
}

```
  **Инициализатор** устанавливает допустимые значения дат в модели в этом или следующем году. 

 Однако, когда я запускаю инициализатор, я получаю эту ошибку в `context.SaveChanges()` : 

>  Преобразование типа данных datetime2 в тип данных datetime привело к значению вне допустимого диапазона. Заявление было прекращено. 
> 
> 

 Я вообще не понимаю, почему это происходит, потому что все так просто. Я также не уверен, как это исправить, так как нет файла edmx для редактирования. 

 Есть идеи? 

 Вы должны убедиться, что Start больше или равен SqlDateTime.MinValue (1 января 1753 г.) - по умолчанию Start равен DateTime.MinValue (1 января 0001 г.).