EF 4.3.1を使用しており、SQL Server 2008での自動移行を有効にしています。テーブルの1つが削除されるという奇妙な問題が発生しました。また、AutomaticMigrationDataLossAllowedをfalseに設定しています。私の2つのテーブルは次のとおりです。
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)だけに置き換えられています。リポジトリにdeleteメソッドさえないので、データを削除しないことはわかっています。Samplesテーブルからすべてのデータを削除すると、Artistテーブルが表示され、アプリケーションが実行されます。誰かがこの問題に遭遇したことがありますか、または私のセットアップがこれを引き起こす可能性がある理由を知っていますか?前もって感謝します。