2012-04-04 4 views
1

Ich versuche, die Anleitung http://docs.orchardproject.net/Documentation/Creating-1-n-and-n-n-relations für die Erstellung einer N-zu-N-Beziehung in meinem Orchard-Modul anzupassen, aber ich bekomme eine Ausnahme "nicht möglich, NHibernate.Collection.Generic.PersistentGenericBag`1 ArealAds .Models.StreetAreaRecord] zu System.Collections.Generic.List`1 [ArealAds.Models.StreetAreaRecord] ". Ich verstehe nicht ganz, was hinter den Kulissen passiert, daher ist es für mich schwierig zu debuggen. Was ist die wahrscheinliche Ursache für diesen Fehler? Wo fange ich an?PersistentBag Ausnahme in Obstgarten

Antwort

1

Sie sollten die Art der zugehörigen Artikel Sammlung List<T>-IList<T> (oder allgemeinere IEnumerable<T>) ändern, wie NHibernate nicht die Eigenschaft abbilden können, um es Sammlung interne Element ist (die IList<T> implementiert).

Siehe similar issue.

+0

Bereits getan, nichts geändert :) –

+0

Überprüfen Sie, ob Sie das an allen notwendigen Stellen geändert haben. Fügen Sie auch den gesamten Code für Ihre Datensatzklassen ein, damit wir einen besseren Einblick erhalten. Ich verwende eine Signatur wie diese: 'public virtual IList RelatedRecords {get; einstellen; } 'und es funktioniert ohne Probleme. –

+0

Sieht so aus, als ob das alles war. –

1

Sie haben den Leitfaden nicht richtig befolgt. Es gibt ein Beispiel für eine n-n-Beziehung im Dokument und es funktioniert. Ohne etwas von Ihrem Code zu sehen, ist es schwer zu sagen, was schief gelaufen ist, aber es muss irgendwie anders sein als das Tutorial. Ein anderes Beispiel, das Sie sich ansehen können, ist der Bündelteil in diesem Modul: https://bitbucket.org/bleroy/nwazet.commerce. Es stellt eine n-n-Beziehung zwischen Inhaltselementen her.