質問: branchesIds != null ? Uow.Branches.GetByPredicate(t => branchesIds.Contains(t.Id)).ToList() : null; if (ModelState.IsValid) { Uow.Promotions.Update(promotion); Uow.Commit(); return new HttpResponseMessage(HttpStatusCode.NoContent); } throw new HttpResponseException(HttpStatusCode.BadRequest); } ``` **コンテキスト内** ``` modelBuilder.Entity(). HasMany(p => p.Promotions). WithMany(s => s.Branches). Map( m => { m.MapLeftKey("BranchId"); m.MapRightKey("PromotionId"); m.ToTable("Branch_Promotion"); }); modelBuilder.Entity(). HasMany(tt => tt.CreditCards). WithMany(p => p.Promotions). Map( m => { m.MapLeftKey("PromotionId"); m.MapRightKey("CreditCardId"); m.ToTable("Promotion_CreditCard"); }); ``` 私はこれを呼び出すと思いますか? ``` promocion.CreditCards.Clear(); promocion.Branches.Clear(); ``` 前もって感謝します。ギレルモ。
回答: これを追加すると解決されます: ``` var promotion = Uow.Promotions.GetByPredicateIncluding(p => p.Id == promotionDto.Id, a => a.CreditCards, a => a.Branches).ToList().FirstOrDefault(); ``` 関連するエンティティをロードします。 Entity Frameworkが新しいものかどうかを知るためには、それらをロードする必要があるようです。 誰かがより良い説明をしている場合は、自由にコメントを追加してください。 宜しくお願いします。ギレルモ。