W jaki sposób dodać nową pozycję do istniejącego zlecenia z utworzonymi już pozycjami w relacji many to many ?

Poniżej relacja wiele do wiele.

public class Order
        {   [Key]
            public int IdOrder { get; set; }
            public string UserId { get; set; }
            public virtual User User { get; set; }
            public int IdOrderAttachment { get; set; }
            public virtual OrderAttachment OrderAttachment { get; set; }
            public virtual ICollection<Employee> Employee { get; set; }
            [Required(ErrorMessage = "Specify the date of order acceptance")]
            [Display(Name = "Date of acceptance of the order")]
            [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
            public DateTimeDateOfAcceptance  { get; set; }
            [Display(Name = "Date of completion planning")]
            [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
            public DateTime? DateOfCompletionPlanning { get; set; }
            [Display(Name = "End Date")]
            [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
            public DateTime? EndDate { get; set; }
            [Required(ErrorMessage = "Enter the subject")]
            [MaxLength(200, ErrorMessage = "Name max 200 characters")]
            [Display(Name = "Subject")]
            public string Subject { get; set; }
           //many to many
            public virtual ICollection<Position> PositionList { get; set; }
        }
        public class Position
        {
            [Key]
            public int IdPosition { get; set; }
            [Column(TypeName = "nvarchar(MAX)")]
            [Display(Name = "Description")]
            [UIHint("tinymce_jquery_full"), AllowHtml]
            public string Description { get; set; }
            public virtual ICollection<OrderPosition> OrderList { get; set; }
        }
        //Map many to many
        base.OnModelCreating(modelBuilder);
                
                    modelBuilder.Entity<Order>()
                       .HasMany<Position>(s => s.PositionList)
                       .WithMany(c => c.OrderList)
                       .Map(cs =>
                       {
                           cs.ToTable("OrderPosition");
                           cs.MapLeftKey("IdOrder");
                           cs.MapRightKey("IdPosition");
                       });

    [HttpPost]
                [ValidateAntiForgeryToken]
                public PartialViewResult _AddPost(int IdOrder)
                {
                    var findOrder = db.Order.Find(IdOrder);        
                    if (ModelState.IsValid)
                    {
                        Position position = new Position { Description = "Test"};
                        db.Position.Attach(position);
                        findOrder.PositionList.Add(position);
                        db.SaveChanges();
       
                    }
                    return PartialView();
                }

Powyższy partial niestety nie działa natomiast dodawanie nowego zamówienia z pozycją działa i tworzy parę kluczy w tablicy łączącej OrderPosition, tworzonej w entity framework fluent api.