Таблица удаляется с помощью автоматической миграции - PullRequest
1 голос
/ 29 марта 2012

Я использую EF 4.3.1, и у меня включена автоматическая миграция с использованием sql server 2008. Я столкнулся со странной проблемой, когда одна из моих таблиц удаляется - даже для AutomaticMigrationDataLossAllowed установлено значение false.Мои две таблицы следующие:

public class Sample
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Number { get; set; }
    public string FileName { get; set; }
    public double Bpm { get; set; }
    public double Duration { get; set; } //In Seconds
    public int? TimeSignature { get; set; }
    public int ArtistId { get; set; }
    public Artist Artist { get; set; }
}

public class Artist
{
    public int Id { get; set; }
    public string ArtistName { get; set; }
    public virtual ICollection<Sample> Samples { get; set; } 
}

В ArtistId есть внешний ключ.У меня обе таблицы заполнены данными.Время от времени мое приложение не запускается из-за ошибки внешнего ключа.Я проверяю базу данных, и моя таблица Artist полностью исчезла.Я смотрю на свою таблицу Samples, и столбец ArtistId удаляется и заменяется просто столбцом Artist (nvarchar), которого раньше там не было.Я знаю, что не удаляю данные, так как у меня даже нет метода удаления в моих репозиториях.Если я удалю все данные из таблицы Samples, появится таблица Artist и мое приложение запустится.Кто-нибудь сталкивался с этой проблемой или есть идеи, почему мои настройки могут привести к этому?Заранее спасибо.

...