Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Order : Entity
- {
- public Order(KitchenAppContext context) : base(context)
- {
- }
- public Order() : base()
- {
- }
- public DateTime Date { get; set; }
- public Guid MenuId { get; set; }
- public virtual Menu Menu { get; set; }
- public bool IsClosed { get; set; }
- public decimal Price { get; set; }
- public virtual int PeopleCount { get { return Details.Count; } }
- public virtual List<OrderDetail> Details { get; set; } = new List<OrderDetail>();
- }
- public class OrderDetail : Entity
- {
- public OrderDetail(KitchenAppContext context) : base(context)
- {
- }
- public OrderDetail() : base()
- {
- }
- public Guid UserId { get; set; }
- public virtual User User { get; set; }
- public virtual List<PaymentDetail> Payments { get; set; } = new List<PaymentDetail>();
- public virtual Order Order { get; set; }
- public Guid OrderId { get; set; }
- }
- void OrderMapping(ModelBuilder builder)
- {
- var etBuilder = builder.Entity<Order>();
- etBuilder.HasKey(m => new { m.Id });
- etBuilder.HasOne(o => o.Menu).WithMany(a => a.Orders).HasForeignKey(f => f.MenuId);
- etBuilder.HasMany(o => o.Details).WithOne(d => d.Order).HasForeignKey(f => f.OrderId);
- }
- void OrderDetailMapping(ModelBuilder builder)
- {
- var etBuilder = builder.Entity<OrderDetail>();
- etBuilder.HasKey(m => new { m.Id });
- etBuilder.HasOne(o => o.User).WithMany(u => u.Details).HasForeignKey(f => f.UserId);
- etBuilder.HasOne(o => o.Order).WithMany(u => u.Details).HasForeignKey(f => f.OrderId);
- etBuilder.HasMany(o => o.Payments).WithOne(d => d.OrderDetail).HasForeignKey(f => f.OrderDetailId);
- }
- var order = new Order(Context);
- Context.Orders.Add(order);
- var oderDetail = new OrderDetail(Context) { Order = order };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement