Ich habe viele Entitäten mit 3 Sprachspalten: DescriptionNL, DescriptionFR und DescriptionDE (Beschreibung, Info, Artikel, ... alle in 3 Sprachen).So rufen Sie das mehrsprachige Domänenmodell ab?
Meine Idee war, eine vierte Eigenschaft Description
zu erstellen, die den richtigen Wert gemäß der Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName
zurückgeben.
Aber ein Nachteil ist, dass wenn Sie eine GetAll()
Methode in Ihrem Repository für eine Dropdown-Liste oder etwas anderes haben, Sie die 3 Werte an die Anwendungsschicht zurückgeben. Also extra Netzwerkverkehr.
Das Hinzufügen einer Parametersprache zu den Domänendiensten zum Abrufen von Daten ist laut DDD-Experten ebenfalls "nicht erledigt". Der Grund ist, dass die Sprache Teil der Benutzeroberfläche ist und nicht die Domäne. Also, was ist die beste Methode, um Ihre Modelle mit der richtigen Beschreibung zu erhalten?
Löschen Sie die Spalten NL, DE, FR, EN, ... in der Datenbank und verwenden Sie stattdessen einen eindeutigen Code. Erstellen Sie eine Codetabelle mit der anderen Sprachversion für diesen Code. Und lassen Sie die Anwendungsschicht die Sprachversion für den entsprechenden Code wählen? – Filip
Das ist richtig. Wir haben einen Datensatz nach Name und Version angefordert. Diese URL wurde vom Browser zwischengespeichert, so dass die Leistung in Ordnung war. Dies sind sowieso keine riesigen Dateien. Die Metadaten für jedes Dataset wurden lokal gespeichert, da Sie wissen müssen, welche Version Sie verwenden möchten. Metadaten würden niemals zwischengespeichert. –