0

今日仕事で何かが起こったのですが、どうしたらいいのかわかりません。基本的に、NHibernateを利用するアプリケーションがあります。現在、Fluent NHibernateを使用しており、ExportSchemaを使用してドメインからスキーマを直接エクスポートしています。列名は英語です。

今日のいくつかの議論の中で、データを国際化するだけでなく、列名をインストールの言語にするという考えがあることがわかりました。

したがって、たとえば、データベースが英語圏の国に展開された場合、列名は英語になり、フランコフォンの国に展開された場合、列名はフランス語になります。

理論は、ユーザーがデータストアに対してクエリを記述したい場合、母国語に基づく列名を使用してクエリを実行できるように思われました。(説明的な名前が付けられていると仮定します)。

私は以前にこれに出くわしたとは言えません、そして私はあなたがそれについてどうやって行くのか興味がありますか?また、他にオプションがある場合はNHibernateについて言及しますが、遠慮なく言及してください。

ありがとう

4

1 に答える 1

0

サポートする言語ごとにリソースファイルを使用できます。流暢なマッピングでは、ハードコードされた文字列ではなく、これらのリソースを参照します。したがって、マッピングの例は次のようになります。

public OrderMap()
{
    CultureInfo culture = CultureInfo.CurrentCulture;
    ResourceManager rm = new ResourceManager("HelloWorldGlobed.myRes",typeof(OrderMap).Assembly);

    DynamicUpdate();
    Table(rm.GetString("ORDER_TABLE_NAME",culture));
    Id(x => x.Id, rm.GetString("ORDER_ID",culture));
    Map(x => x.Name, rm.GetString("ORDER_NAME",culture));
}

上記は単なる例であり、私はこれをテストしていませんが、これにより、リソースを使用してこれを行う方法がわかります。CultureInfoオブジェクトとオブジェクトの検索をResourceManager静的クラスなど に統合することをお勧めします。

C#でリソースを使用する例もあります。

http://www.codeproject.com/Articles/5208/MultiLanguage-Applications

于 2012-12-03T21:21:12.267 に答える