Frage

Ich habe einen Order-Mapping mit vielen Orderitem. Die Zuordnung speichert korrekt sowohl die Auftrags- und Orderitem in die Datenbank, wenn ich nur den Auftrag auf speichere, aber wenn ich die Reihenfolge neu zu laden, enthält die Liste der Orderitem, dass der Auftrag mit Nullwerten gefüllt ist (für alle othe Auftragspositionen die Tabelle), bis sie die OrderItem erreicht, dass die Reihenfolge des Fremdschlüssel hat. So ist die Gesamtzahl von null Auftragspositionen ist die Zeilenanzahl der Orderitems-Tabelle (sans die tatsächlichen Auftragspositionen, die mit dem Auftrag verbunden sind). Hier ist meine Zuordnungen:

Bestellen Sie:

<list name="OrderItems" table="OrderItems" cascade="all" inverse="true" >
  <key column="OrderID"/>
  <index column="OrderItemID" />
  <one-to-many class="OrderItem" not-found="ignore" />
</list>

OrderItem:

<many-to-one name="Order" class="Order" column="OrderID" not-null="true" />

Hier ist die Klassenimplementierung des Order:

public class Order : {
    private IList<OrderItem> orderItems = new List<OrderItem>();

las ich, dass nHibernate nicht Listen als viele Teil einer Beziehung nicht unterstützt, aber die Arbeiten richtig sparen, nur nicht die Last. Muss ich alles dafür Sets konvertieren, um über die Arbeit?

War es hilfreich?

Lösung

Nur die Spitze von meinem Kopf Ich erinnere mich, Probleme mit

<list> 

und griff auf

<bag> 

stattdessen auf die .NET IList-Schnittstelle abzubilden. Nicht sicher, ob das Ihr Problem lösen wird.

Was kann hilfreich sein, ist zu prüfen, wie die tatsächliche SQL, die die Datenbank trifft unterscheidet sich von dem, was von Ihnen erwartet Protokollierung ermöglicht Console.Out ( dieses Blog )

Andere Tipps

Ist das nicht verursacht, weil Ihre Order Sammlung faul geladen ist? Wenn Sie faul = false auf Ihrer Liste angeben (oder Beutel) Mapping, dann sollte dies nicht der Fall sein, nicht mehr.

Die Frage offcourse, sind Sie die Orderitems zu faul Last werden soll, oder nicht? :)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top