問題タブ [fluent-nhibernate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
24448 参照

c# - Fluent NHibernate 多対多

Fluent NHibernate を使用していますが、クラスの 1 つと多対多の関係をセットアップする際に問題が発生しています。それはおそらくばかげた間違いですが、私はそれを機能させようとして少し立ち往生しています。とにかく、多対多の関係を持ついくつかのクラスがあります。

このようなマッピングで

人: ...

グループ: ...

統合テストを実行するとき、基本的には新しい個人とグループを作成しています。グループを Person.GroupsOwned に追加します。リポジトリから Person オブジェクトを取得すると、GroupsOwned は最初のグループと同じですが、Group.Admins のカウントを確認するとグループを取得すると、カウントは 0 になります。Join テーブルには GroupID があり、そこにPersonIDが保存されています。

アドバイスありがとうございます。

0 投票する
2 に答える
5841 参照

nhibernate - NHibernate は個別のアセンブリでサブクラスに参加しました

次のソリューション プロジェクト構造があります。

アプリケーション.コア.エンティティ

Application.Xtend.CustomerName.Entities

コア プロジェクトでは、エンティティCustomer defiend があります。XTend プロジェクトでは、xCustomer という名前の Customer をサブクラス化するエンティティを定義しています(現時点ではより適切な名前がないため...)。

ここでの考え方は、アプリケーションにコア ドメイン モデルがあるということです。その後、顧客はコア モデルの拡張機能を含む新しいアセンブリを作成できます。拡張アセンブリが存在する場合、スマートIRepositoryクラスは代わりにコア クラスのサブクラスを返します。

この関係をNHibernateにマッピングしようとしています。Fluent NHibernateを使用して、次のマッピングを生成できました。

ただし、NHib は次のエラーをスローします。

NHibernate.MappingException: 永続クラス Application.Entites.xCustomer、Application.Core.Entites が見つかりません ---> System.TypeLoadException: アセンブリ 'Application.Core.Entites、Version=1.0 から型 'Application.Entites.xCustomer' を読み込めませんでした.0.0、カルチャ = ニュートラル、PublicKeyToken = null'..

xCustomer が Core ライブラリで定義されていないのは理にかなっています。

このように異なるアセンブリにまたがることは可能ですか? 私は問題に間違ってアプローチしていますか?

0 投票する
2 に答える
7898 参照

c# - Fluent-NHibernate はプロシージャへのマッピングをサポートしていますか?

Fluent-NHibernate が既に存在するストアド プロシージャと通信し、結果セットから自分のドメイン オブジェクトにマッピングを割り当てることが可能かどうか疑問に思っていました。

また、Fluent-NHibernate は結果セットを返さずにプロシージャを直接実行できますか?

基本的に、私は Fluent-NHibernate を使用して、時代遅れの TypedDataSet モデルを、DAL から単純なオブジェクトを返すことができるドメイン駆動型の設計に置き換えることの意味を検討してきました。Fluent-NHibernate が SP と簡単に連携できない場合、単純な CRUD 操作に FNH を利用し、複雑な手順を Enterprise Library で管理する組み合わせ DAL を使用する可能性が最も高いと思います。FNH が SP とうまく連携できない場合、競合する 2 つの DAL を持つことは最適ではないと思いますが、EntLib と FNH の両方を一緒に使用する以外のアイデアを聞きたいです。

0 投票する
2 に答える
7943 参照

c# - Fluent NHibernate - サブクラスを1対1でマップする方法は?

3 つのクラスがあるとします。A をインスタンス化することは有効ですが、追加情報を追加して A をサブクラス化する特殊なケース B および D もあります。

(流暢な) NHibernate でこのマッピング ファイルを作成するにはどうすればよいですか?

次のことを試しましたが、まったく機能しません。

0 投票する
1 に答える
25702 参照

nhibernate - Fluent NHibernate: 1 対多の双方向マッピングを作成する方法は?

基本的な質問: Fluent NHibernate で双方向の 1 対多のマップを作成するにはどうすればよいですか?

詳細:

多くの子を持つ親オブジェクトがあります。私の場合、子に親がないと意味がないので、データベースでは親への外部キーに NOT NULL 制約を持たせたいと考えています。Fluent NHibernate マッピングからデータベースを自動生成しています。

次のような多くの子オブジェクトを持つ親があります。

これが私が始めたマッピングです:

Detail テーブルでは、Summary_id を Not Null にする必要があります。これは、私の場合、Detail オブジェクトがサマリー オブジェクトにアタッチされていないことは意味がないためです。ただし、HasMany() マップを使用するだけでは、Summary_id 外部キーは null 可能のままになります。

NHibernate のドキュメント ( http://www.hibernate.org/hib_docs/nhibernate/html/collections.html ) で、「親が必要な場合は、双方向の 1 対多の関連付けを使用する」ことがわかりました。

では、Fluent NHibernate で双方向の 1 対多マップを作成するにはどうすればよいでしょうか。

0 投票する
1 に答える
1211 参照

nhibernate - NHibernate:Fluent NHibernateを使用して中間テーブルを処理する最良の方法は?

Fluent NHibernate で以下をどのようにマッピングしますか?

「18.3. 顧客・注文・商品」参照

http://www.hibernate.org/hib_docs/nhibernate/html/example-mappings.html

0 投票する
1 に答える
537 参照

nhibernate - .hbm.xml と Fluent NHibernate を組み合わせると奇妙な例外が発生する - アイデアはありますか?

そのため、必要に応じてマッピング ファイルを変換しています (変更を加えるときは、マッピングに変換します)。NHibernate を次のように構成する場合:

Web アプリケーションを実行すると、次の例外が発生します。

ただし、すべての統合テストは期待どおりに機能しています。何か案は?

0 投票する
1 に答える
4505 参照

nhibernate - 遅延ロード HasMany への Fluent NHibernate のデフォルトの動作です。コレクション?

流暢なマッピングを設定するとき、コレクションのデフォルトは何ですか? それらを明示的に遅延ロードとして設定する必要がありますか、それともデフォルトですか?

0 投票する
5 に答える
14123 参照

c# - Fluent NHibernate、結合サブクラス マッピング

Fluent NHibernate を使用して、結合されたサブクラスのシナリオをマップしようとしています。名前空間 Core で定義されたクラス Entity と、名前空間 SomeModule でクラス SubClass : Entity があります。

ここで、クラス Entity にその派生型を認識させたくないのは明らかです。SomeModules 名前空間は Core を参照します。その逆ではありません。

私が見つけたすべての例は、次のようなものを使用しています。

これは私の状況ではうまくいきません - NHibernate xml マッピングに似たものが必要です:

Fluent NHibernateでこれを達成した人はいますか?

0 投票する
1 に答える
826 参照

c# - このマッピングは (Fluent) NHibernate で実行できますか?

Web サイトのユーザーが行ったアクションを保存することを目的とした Events テーブルがあります。アクションは基本的に、テーブル X の新しい行を変更または作成します。これにより、ユーザーが実行したすべてのアクションの履歴を保存できます。そのため、イベントには以下が含まれます。

  • 主キー列
  • イベントを説明するテキスト (例: 「コメントを投稿しました」)
  • 必要に応じて識別子列
  • 別のテーブル A への外部キー列
  • 別のテーブル B への外部キー列
  • ....
  • 別のテーブル N への外部キー列

Events テーブルの行には、外部キー列が 1 つだけ設定され、その他はすべて null になります (したがって、すべて null 可能です)。テーブルは、イベントに関連する実際のテーブルに対する間接テーブルのように動作します。すべての情報が外部キー列に含まれているため、識別子が必要かどうかはわかりません。テーブル A ~ N は何でもかまいません。それらのドメイン モデル クラスは、必要に応じて共通のインターフェイスを持つことができます (IEventRecordable)。

私の質問は次のとおりです: Events テーブルと Event クラスの間でマッピングは可能ですか? 流暢なnhibernateで特に実現可能ですか? Event の派生クラスを多数作成せずに実行できますか (空のサブクラスを多数作成したくありません)。Event クラスは、理想的には次のようになります。

ドメイン モデル クラスの多くのクラスは、IEventRecordable (主に空のインターフェイス) を実装できます。User テーブルまたは BlogComment テーブルの可能性があります...

ありがとう