5

構成で定義された WillCascadeOnDelete(false) との関係が、生成された移行で常に true になるのはなぜですか?

ここに設定コードがあります

 public class PartySuppliesConfiguration:EntityTypeConfiguration<PartySupplies>
{
    public PartySuppliesConfiguration()
    {
        HasKey(x => x.Id);
        HasRequired(x=>x.Supplier).WithMany().HasForeignKey(x=>x.SupplierId).WillCascadeOnDelete(false);
        HasRequired(x => x.Product).WithMany().HasForeignKey(x => x.ProductId).WillCascadeOnDelete(false);
        HasRequired(x => x.Currency).WithMany().HasForeignKey(x => x.CurrencyId).WillCascadeOnDelete(false);
        HasRequired(x => x.CreatedUser).WithMany().HasForeignKey(x => x.CreatedUserId).WillCascadeOnDelete(false);
        Property(x => x.UnitPrice).HasColumnType("Money");
    }
}

そして、ここに生成された移行があります

 public override void Up()
    {
        CreateTable(
            "PartySupplies",
            c => new
                {
                    Id = c.Int(nullable: false, identity: true),
                    SupplierId = c.Int(nullable: false),
                    ProductId = c.Int(nullable: false),
                    UnitPrice = c.Decimal(nullable: false, precision: 18, scale: 2),
                    CurrencyId = c.Int(nullable: false),
                    FromDate = c.DateTime(nullable: false),
                    ThruDate = c.DateTime(),
                    CreatedUserId = c.Int(nullable: false),
                })
            .PrimaryKey(t => t.Id)
            .ForeignKey("Parties", t => t.SupplierId, cascadeDelete: true)
            .ForeignKey("Products", t => t.ProductId, cascadeDelete: true)
            .ForeignKey("Curencies", t => t.CurrencyId, cascadeDelete: true)
            .ForeignKey("Users", t => t.CreatedUserId, cascadeDelete: true)
            .Index(t => t.SupplierId)
            .Index(t => t.ProductId)
            .Index(t => t.CurrencyId)
            .Index(t => t.CreatedUserId);

    }
4

1 に答える 1

1

ばかげた質問かもしれませんが、DbContext の OnModelBuilding メソッドをオーバーライドして追加しましたmodelBuilder.Configurations.Add( new PartySuppliesConfiguration( ) );か? PartySuppliersエンティティ構成クラスをオーバーライドしている可能性のある DataAnnotations はありますか? それとも、cascadeondelete が true に設定されている別のクラスから派生したものでしょうか?

于 2012-11-02T10:25:17.297 に答える