Я пытаюсь создать базу данных из сопоставлений NHibernate и столкнулся с проблемой.Fluent NHibernate сопоставления для локализации
У меня есть много классов с локализованными строковых значений:
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; }
}
и Языки, как
public class Language {
public virtual string Code { get; set }
public virtual string Name { get; set }
}
Мои ShortString и LongString классы как выглядят одинаково:
public class ShortString {
public virtual int Id { get; set; }
public virtual IDictionary<Language, string> Values { get; set; }
}
То, что я хочу для достижения двух таблиц (ShortString и LongString) выглядит так:
TABLE ShortString
-----------------
Id (int)
LanguageCode (nvarchar(8))
Value (nvarchar(256)) (or ntext for the LongString Table)
... с идентификатором и языком в качестве первичных ключей и ForeignKey в таблицу языков.
И в таблицах MyClass1 и MyClass2 я хочу иметь столбцы NameId (int) и DescriptionId (int), сопоставленные с таблицами ShortString и LongString соответственно.
Я полностью застрял. Как я могу это достичь?