私は次のものを持っています:
public abstract class EntityBase
{
[Key]
public int Id { get; set; }
public DateTime? CreatedTime { get; set; }
public DateTime? ModifiedTime { get; set; }
}
public class AnalysisFile : EntityBase
{
public AnalysisFile()
{
DateAdded = DateTime.Now;
}
public string SourceFolder { get; set; }
public string Filename { get; set; }
public DateTime DateAdded { get; set; }
public long FileSize { get; set; }
public Document Document { get; set; }
}
public class Document : EntityBase
{
public Document()
{
Publish = true;
}
public string Name { get; set; }
public int AreaId { get; set; }
public int SchoolId { get; set; }
public int Year { get; set; }
public long FileSize { get; set; }
public AnalysisFile AnalysisFile { get; set; }
public School School { get; set; }
public Area Area { get; set; }
public bool Publish { get; set; }
}
modelBuilder.Entity<Document>().HasRequired(x => x.AnalysisFile);
modelBuilder.Entity<AnalysisFile>().HasOptional(x => x.Document);
私の問題は、EFがAnalysisFileとDocumentの間の関係の外部キーを作成していないように見えることです。ここで何かが欠落しているのでしょうか、それともこれは予期される動作ですか?
また、両方のクラスでAnalysisFileIdプロパティとDocumentIdプロパティを作成しようとしましたが、作成してもIDが入力されません。
別の質問もあります:ドキュメントがAnalysisFileに対してカスケード削除されていることを確認するにはどうすればよいですか?