Я использую 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 и мое приложение запустится.Кто-нибудь сталкивался с этой проблемой или есть идеи, почему мои настройки могут привести к этому?Заранее спасибо.