Comment supprimer une référence circulaire dans Entity Framework?

.net entity-framework orm

Question

La référence circulaire entre les entités client et commande a généré une exception lors de la sérialisation. Existe-t-il un moyen de forcer EF à générer une référence dans une direction entre ces deux entités? Merci d'avance!

Réponse acceptée

Lorsque je dois sérialiser, je projette généralement sur d'autres types. Cela élimine les références circulaires, ainsi que d'autres données que je ne veux pas sérialiser. Par exemple:

var q = (from c in Repository.Customers()
         where c.Id == id
         select new 
         {
             Name = c.Name,
             Orders = from o in C.Orders
                      select new
                      {
                          Date = o.Date
                      }
         }).First();
return Json(q);

Réponse populaire

J'ai résolu ce problème dans EF 3.5 En modifiant la propriété de navigation de l'enfant, Getter, de public à interne.



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow