1

複数のデータベースで NHibernate を使用する方法の記事をいくつか見つけました

しかし、すべての記事は非常に古いものであり、NH 3.x には新しいアプローチがあるのではないでしょうか? ドキュメントを調べましたが、何も見つかりませんでした。

この記事で説明されているよりも、複数のデータベースで NH 3.x を使用するためのより良い方法 (ネイティブ NH3.x の方法) を知っている人はいますか? http://codebetter.com/karlseguin/2009/03/30/using-nhibernate-with-multiple-databases/

ありがとう、アレキサンダー。

4

2 に答える 2

3

AFAIK、NH 3には新しいものは何もありません。しかし、リンクしたブログ投稿よりも、いくつかのデータベースを使用するためのオプションがまだたくさんあります。

  • セッションを開くときに、独自の接続を開いてNHに渡すことができます。
  • セッションを開いて、同じサーバー上の別のデータベースに切り替えることができます(たとえばuse database、SQLサーバーでステートメントを実行することによって)。
  • マッピングファイルでマップする各テーブルにスキーマ(データベース)名を指定できます。ハードコーディングすることは有用ではありませんが、マッピングファイルをロードした後で置き換えるか、コードによるマッピングを使用することができます。
于 2011-12-12T09:09:35.707 に答える
0

リンクした記事はまだ途中です。各 SessionFactory は、単一の接続 (接続文字列) とスキーマを担当します。

負荷分散のためにデータベースを同じスキーマで複数に分割する特殊なケースが 1 つあります。これはシャーディングと呼ばれ、それに対処するための contrib NHibernate.Shardsがあります。

于 2011-12-12T08:58:14.163 に答える