Exception de référence circulaire avec sérialisation JSON avec MVC3 et EF4 CTP5w

Je vais avoir des problèmes avec une référence circulaire quand je l'ai essayer et serialise un objet retourné par EF4 CTP5. Im en utilisant l'approche du premier code et simple poco pour mon modèle.

J'ai ajouté [ScriptIgnore] les attributs de toutes les propriétés qui fournissent un retour des références à un objet et fâcheusement tout semble fonctionner correctement si je instancier manuellement le poco, c'est à dire qu'ils serialise JSON fine, et la scriptignore attribut est reconnu. Cependant lorsque je l'ai essayer et serialise un objet retourné à partir de la DAL-je obtenir la référence circulaire d'exception ", Une référence circulaire a été détecté lors de la sérialisation d'un objet de type 'System.Les données.De l'entité.DynamicProxies.xxxx""

J'ai essayé plusieurs façons de récupération de données, mais ils sont tous coincé avec cette erreur:

    public JsonResult GetTimeSlot(int id) {
        TimeSlotDao tsDao = new TimeSlotDao();
        TimeSlot ts = tsDao.GetById(id);
        return Json(ts);
    }

La méthode ci-dessous fonctionne un peu mieux que plutôt que de le créneau horaire dynamique mandaté l'objet à l'origine de la circulaire refference de son les rendez-vous de l'objet.

    public JsonResult GetTimeSlot(int id) {
        TimeSlotDao tsDao = new TimeSlotDao();
            var ts = from t in tsDao.GetQueryable()
                 where t.Id == id
                 select new {t.Id, t.StartTime, t.Available, t.Appointment};
        return Json(ts);
    }

Des idées ou des solutions à ce problème?

Mise à jour
Je préfère utiliser la sortie de la boîte serialiser si possible bien que Json.Net via nuget est ok, comme une alternative je l'espère, il est possible de l'utiliser comme je l'ai prévu ainsi...

source d'informationauteur nakchak | 2011-01-05