Domain:(Fließend) NHibernate Wörterbuch-Mapping mit Klasse Key
class Category
string Name
class Product
IDictionary<string, Product> Parents
Tables:
Categories (ID, Name)
Products (ID)
ProductParents (ID, ParentID, ChildID, CategoryID)
Die Fragen: Muss ich Liste der Mutter Produkte erhalten. Ist es möglich, übergeordnete Produkte Wörterbuch zuzuordnen, so dass ich tun kann: product.Parents ["CategoryName"] und es wird mir eine Liste der übergeordneten Produkte für die angegebene Kategorie geben.
Oder vielleicht
product.Parents[Category("CategoryName")]
wenn ich
IDictionary<Category, Product> Parents
verwenden Oder wie kann ich das tun? Vielleicht eine Methode wie product.GetParentProducts (String-Kategorie) anstelle von Eigenschaften? Ich würde lieber ein Wörterbuch verwenden.
Beachten Sie, dass ich die ProductMapping-Klasse nicht wirklich einführen möchte.
Danke für das Aufzeigen. Soweit ich sehen kann, ist dies jedoch verfügbar, wurde im Rahmen von http://code.google.com/p/fluent-nibernate/issues/detail?id=226 festgelegt und ist in http://code.google integriert .com/p/fluent-nhibernate/Quelle/Detail? r = 524. Ich werde die neueste Version testen und testen. – queen3
Ja, aber es ist mein Verständnis, dass das oben genannte (was ich implementiert habe) nutzlos ist ... http://code.google.com/p/fluent-nhibernate/issues/detail?id=230 Ich habe nicht wirklich nachgedacht Wenn ich es implementiert habe, ist es zwar möglich, ein korrektes, * aussehendes * Mapping mit diesem Patch zu generieren, aber es funktioniert nicht wirklich für NHibernate. NH erwartet ein IDictionary, das der ursprüngliche Patch nicht unterstützt (siehe Problem 230). Ich habe einen Hack-Patch erstellt, der für dich funktionieren könnte, aber es ist wieder nicht im FNH-Stamm, also bist du wieder dabei, deine eigene FNH-Kopie zu behalten. –
Ich habe deinen Hack versucht, es hat nicht für mich funktioniert. Ich bekomme "2 generische Argumente erwartet, aber 1". Das kann daran liegen, dass ich das Feature missbrauche, da ich immer noch kein Experte bin. Also benutze ich weiterhin eine Zwischeneinheit (was ziemlich gut ist) und ich denke, ich werde auf eine "offizielle" Korrektur und hoffentlich ein bisschen Dokumentation warten ... ;-) – queen3