internal class OrderEntityTypeConfiguration : IEntityTypeConfiguration<Order> { public void Configure(EntityTypeBuilder<Order> builder) { builder.ToTable("Orders", OrderingContext.DEFAULT_SCHEMA);//表名 builder.HasKey(s => s.Id);//主键 builder.Property(s => s.Id).ForSqlServerUseSequenceHiLo("ordersqu", OrderingContext.DEFAULT_SCHEMA);//主键自增规则 builder.OwnsOne(s => s.Address);//一对一关系 builder.Property<DateTime>("OrderDate").IsRequired(); builder.Property<int?>("BuyerId").IsRequired(false); builder.Property<int>("OrderStatusId").IsRequired(); builder.Property<int?>("PaymentMethodId").IsRequired(false); builder.Property<string>("Description").IsRequired(false); var nav = builder.Metadata.FindNavigation(nameof(Order.OrderItems)); nav.SetPropertyAccessMode(PropertyAccessMode.Field);//取值方式 builder.HasOne<PaymentMethod>()//一对多关系 .WithMany() .IsRequired(false) .OnDelete(DeleteBehavior.Restrict);//删除模式 builder.HasOne<Buyer>() .WithMany() .IsRequired(false) .HasForeignKey("BuyerId"); builder.HasOne(s => s.OrderStatus) .WithMany() .HasForeignKey("OrderStatusId"); } }
原文:https://www.cnblogs.com/Celebrator/p/11377358.html