Dans le sillage de mon autre question au sujet de moqueries DbContext.Set j'ai une autre question au sujet de moqueries EF Premier Code.
J'ai maintenant une méthode pour ma mise à jour qui ressemble à ceci:
if (entity == null)
throw new ArgumentNullException("entity");
Context.GetIDbSet<T>().Attach(entity);
Context.Entry(entity).State = EntityState.Modified;
Context.CommitChanges();
return entity;
Le contexte est une interface de mon propre DbContext.
Le problème, je suis en cours d'exécution pour est, comment dois-je traiter le
Context.Entry(entity).State
.
J'ai intervenu par le biais de ce code et il fonctionne quand j'ai un vrai live DbContext que la mise en œuvre de mon Contexte de l'interface. Mais quand j'ai mis ma fausse contexte là, je ne sais pas comment le gérer.
Il n'y a pas de constructeur pour une DbEntityEntry classe, donc je ne peux pas en créer un nouveau dans ma fausse contexte.
Personne n'a jamais eu de succès avec soit moqueur ou feindre DbEntityEntry dans votre CodeFirst solutions?
Ou est-il une meilleure façon de gérer les changements d'état?