0

オプションが必要な単純な関係を構成しようとしていますが、EF は適切な移行を足場にしていないようです:

public class Applicant
{
    public int Id { get; set; }

    public string   FirstName   { get; set; }
    public string   LastName    { get; set; }
    public int ContactInfoId            { get; set; }
    public string PreferredCultureId    { get; set; }

    public virtual ApplicantContact     Contact             { get; set; }
    public virtual Culture              PreferredCulture    { get; set; }
}




public ApplicantConfiguration()
{
    HasKey(a => a.Id);
    Property(a => a.FirstName).IsRequired().HasMaxLength(50);
    Property(a => a.LastName).IsRequired().HasMaxLength(50);

    HasOptional(a => a.Contact)
        .WithRequired(c => c.Applicant)
        .WillCascadeOnDelete();

    HasOptional(a => a.PreferredCulture)
        .WithMany()
        .HasForeignKey(a => a.PreferredCultureId);
}






CreateTable(
    "Main.Applicants",
    c => new
        {
            Id = c.Int(nullable: false, identity: true),
            FirstName = c.String(nullable: false, maxLength: 50),
            LastName = c.String(nullable: false, maxLength: 50),
            ContactInfoId = c.Int(nullable: false),
            PreferredCultureId = c.String(maxLength: 128),
        })
    .PrimaryKey(t => t.Id)
    .ForeignKey("General._Cultures", t => t.PreferredCultureId)
    .Index(t => t.PreferredCultureId);

ContactInfoId が外部キーおよび nullable として生成されないのはなぜですか? これは関係のオプション側であるためです。

4

1 に答える 1