using System.Data; using FluentMigrator.Builders.Create.Table; using Nop.Core.Domain.Common; using Nop.Core.Domain.Customers; using Nop.Core.Domain.Orders; using Nop.Data.Extensions; namespace Nop.Data.Mapping.Builders.Orders; /// /// Represents a order entity builder /// public partial class OrderBuilder : NopEntityBuilder { #region Methods /// /// Apply entity configuration /// /// Create table expression builder public override void MapEntity(CreateTableExpressionBuilder table) { table .WithColumn(nameof(Order.CustomOrderNumber)).AsString(int.MaxValue).NotNullable() .WithColumn(nameof(Order.BillingAddressId)).AsInt32().ForeignKey
(onDelete: Rule.None) .WithColumn(nameof(Order.CustomerId)).AsInt32().ForeignKey(onDelete: Rule.None) .WithColumn(nameof(Order.PickupAddressId)).AsInt32().Nullable().ForeignKey
(onDelete: Rule.None) .WithColumn(nameof(Order.ShippingAddressId)).AsInt32().Nullable().ForeignKey
(onDelete: Rule.None) .WithColumn(nameof(Order.CustomerIp)).AsString(100).Nullable() .WithColumn(nameof(Order.OrderGuid)).AsGuid().Unique("AK_Order_OrderGuid"); } #endregion }