2009-12-23 3 views
0

Je fais des appels ajax à mon service web (en utilisant MS ajax framework - Telerik comps l'utilise réellement). Je retourne une des classes Entity générées par le dbml. Cela fonctionnait bien, mais quand j'ai ajouté les associations, il a commencé à lancer une exception sur le serveur, en disant "une référence circulaire détectait quand le type de sérialisation"Linq2Sql La classe d'entité ne peut pas être sérialisée après l'ajout d'une association

J'ai travaillé autour pour le moment, mais j'aimerais vraiment savoir ce qui se passe. Merci

Répondre

0

Cela est dû au fait que la relation est mappée avec les propriétés de navigation dans les deux sens. à-dire que vous pouvez utiliser:

myCustomer.Orders 

mais aussi

order.Customer 

Vous pouvez essayer marquer un d'entre eux non publiques dans le dbml, alors si vous avez besoin d'une propriété publique, créer dans la classe partielle, de sorte que vous pouvez marquer la propriété avec XmlIgnoreAttribute:

partial class Order 
{ 
    [XmlIgnore] 
    public Customer Customer 
    { 
     get { return InternalCustomer; } 
     set { InternalCustomer = value; } 
    } 
} 
Questions connexes