Ich versuche, eine Datenbank von NHibernate Mappings zu erstellen und habe ein Problem festgestellt.Fließende NHibernate-Mappings für die Lokalisierung
Ich habe viele Klassen mit lokalisierten String-Werte:
public class MyClass1 {
public virtual int Id { get; set; }
public virtual ShortString Name { get; set; }
public virtual LongString Description { get; set; }
}
public class MyClass2 {
public virtual int Id { get; set; }
public virtual ShortString Name { get; set; }
public virtual LongString Description { get; set; }
}
und Sprachen wie
public class Language {
public virtual string Code { get; set }
public virtual string Name { get; set }
}
Meine Short und LongString Klassen beide gleich aussehen:
public class ShortString {
public virtual int Id { get; set; }
public virtual IDictionary<Language, string> Values { get; set; }
}
Was ich will, zu erreichen sind zwei Tabellen (ShortString und LongString), die wie folgt aussehen:
TABLE ShortString
-----------------
Id (int)
LanguageCode (nvarchar(8))
Value (nvarchar(256)) (or ntext for the LongString Table)
... mit ID AND LanguageCode als Primärschlüssel und Fremdschlüssel zur Sprachtabelle.
Und in den Tabellen MyClass1 und MyClass2 möchte ich NameId (int) und DescriptionId (int) Spalten ShortString und LongString Tabellen zugeordnet haben.
Ich bin total fest. Wie kann ich das erreichen?