ローカライズされたアプリケーションを構築しています。すべてのデータは異なる言語で利用可能である必要があります。ストレージモデルとして、Entity Frameworkよりもパフォーマンスが優れているため、Nhibernateを使用しようとしています。ルートノードをデータベースに保存してエンティティの一意のIDを取得し、言語ごとの子ノードを含む2番目のテーブル(ロケールテーブル)を作成します。
私のデータベーステーブルは次のようになります。
Country
Int Id;
Country_Locale
Int Id;
Int CountryId;
String LangCode;
String Name;
City
Int Id;
Int CountryId;
City_Locale
Int Id;
Int CityId;
String LangCode;
String Name;
私の好みのエンティティは次のようになります
Country
Int Id (from Coutry table)
String LangCode (from locale table)
String Name (from locale table)
IList<City> Cities (Referenced to City entity)
City
Int Id (From City table)
String LangCode (from locale table)
String Name (from locale table)
Country Country (Referenced to Country entity)
Int CountryId (From country table)
上記をマッピングすることはできませんが、それは私が好む構造の一種です。このマッピングをどのように行うことができますか、または他の提案があります。
**データベーステーブルのレイアウトを編集して、もう少し明確にしました。