J'ai trouvé une solution pouvez vous me donner vos avis :
J'ai ajouté une méthode Detach à mon repository de base :
userRepository.FindByUserName(HttpContext.User.Identity.Name, true);
True signifie détache moi l'objet
Puis j'attache l'objet au repository qui m'interesse :
repository.Attach<User>(user);
Et là sa fonctionne.
Voici le code complet :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| User user = null;
PublicationGroup group = null;
using (var repository = new PublicationRepository())
{
using (var userRepository = repository.RepositoryFromContext<UserRepository>())
{
user = userRepository.FindByUserName(HttpContext.User.Identity.Name, true);
repository.Attach<User>(user);
}
using (var groupRepository = repository.RepositoryFromContext<PublicationGroupRepository>())
{
group = groupRepository.FindById<int>(model.publicationGroupId, true);
repository.Attach<PublicationGroup>(group);
}
publication.UserSet = user; // Utilisateur courant
publication.PublicationGroupSet = group;
repository.Add(publication);
} |
Qu'en pensez vous ?
Cordialement.
Partager