Fluent NHibernate mag dies nicht, einen Fehler zu werfen:Fließendes NHIbernate automapping der Liste <string>?
{"Association references unmapped class: System.String"}
OK in Ordnung, ich kann sehen, warum dies ein Problem verursachen würde - aber was ist die beste Lösung?
Ich möchte nicht wirklich eine begrenzte Liste von Zeichenfolgen in einem einzelnen Feld speichern, dies würde hässlich werden, wenn meine Liste viele Zeichenfolgen enthält.
Ich möchte auch nicht wirklich eine Tabelle 'String', aus offensichtlichen Gründen.
Ich denke, ich kann dies lösen, indem ich meine List<string>
in eine Klasse einwickelt, aber das fühlt sich ein wenig Schwergewicht. Ich fange an zu denken, dass es die beste Lösung ist.
Was ist der beste Weg, Fluent NHibernate zu bekommen, damit umzugehen?
Ich erwarte völlig, dass diese Werte in einer anderen Tabelle gespeichert werden. Ich dachte vielleicht, dass ich in der Lage gewesen wäre, eine automatische Zuordnung Konvention, die NHibernate 'Wenn Sie eine class X
, die List<*some primitive type*>
enthält, dann weitermachen und automatisch erstellen eine Referenztabelle, die diese Sammlung zugeordnet ist.
Es fühlt sich ein bisschen schwer zu gehen und jede einzelne Sammlung in einer Klasse zu wickeln. Wenn das aber die beste Lösung ist, dann sei es so.
Wenn Sie es nicht als getrennte Zeichenfolge in einem einzelnen Feld möchten und nicht in einer anderen Tabelle, dann * where *? Dies ist immer noch eine relationale Datenbank ... –
Ich bin nicht gestört, wie die relationale Datenbank dies behandelt. Ich frage mich, wie ich das Automapping dazu bringen kann, dies abzuleiten, was ich für * alle * String-Listen in meinem Domain-Modell tun möchte. – Alex
@Alex - Soweit ich weiß, gibt es keine Möglichkeit, Fluent NHibernate mitzuteilen, wie alle String-Listen abgebildet werden sollen. Die Lösung, die ich in meiner Antwort zur Verfügung stelle, erfordert eine Überschreibung für jede String-Liste in Ihrem Domänenmodell. Es ist nur ein paar Zeilen Code für jede Überschreibung, so ist es nicht so schlimm ... –