問題タブ [fluent-nhibernate-mapping]
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.
nhibernate - FluentNHibernateで名前空間ごとにマッピングを追加する方法
私のアプリケーションでは、複数のデータベースと通信する必要があります。私はこれをNHibernateでデータベースごとに1つのSessionFactoryを作成することで処理しています(これが正しいことだと思います)。したがって、2セットのモデル(データベースごとに1セット)と2セットのFluentNHibernateClassMap<>
マッピングがあります。両方とも同じプロジェクト(名前空間で区切られている)にあり、そのままにしておきたいと思います。
SessionFactoryを作成するときに問題が発生します。私が見る限り、Fluent NHibernateには、マッピングを追加するための基本的に2つの方法があります。
最初のオーバーロードを使用すると、セッションファクトリは両方のデータベースのすべてのマッピングを取得します。2番目を使用する場合は、個々のClassMapを指定する必要があります。のようなものが欲しいのですがFluentMappings.AddFromNamespace()
。これを行う方法はありますか?
nhibernate - エラー: 異なるアセンブリのマッピングを参照する流暢な NHibernate マッピング
私の会社には、同じ DB とコードのコア ライブラリを参照する複数のサイトがあります。次に、データを管理する CMS があります。
Core ライブラリには、各サイトに関する一連の基本情報を保持する Site クラスがあります。これは私が持っている流暢なマッピングです。
CMS の一部として、誰がいつ何を編集したかを記録しています。しかし、人々はCMS経由でしか情報を編集できないため、コアコードではなく、CMSでLogクラスとマッピングへの参照のみを持ちたいと考えています。
これは、Site クラスを参照する Log クラスへの現在の流暢なマッピングです。
理論的にはこれはうまく機能しますが、ログ マッピング エラーは次のようになります。
CMS マッピングがコア サイト マッピングを参照するようにする方法を知っている人はいますか? これは、2 つのプロジェクトにまたがるマッピングを取得する最初のコードですが、CMS でしか見たり実行したりしない多くのものと同様に、かなりの量のコードを実行する予定です。CMS のみのコードは、できれば Core ライブラリに入れたくありません。
助けてくれてありがとう
サンドラ
c# - 流暢なnHibernate参加
Ruleというテーブルにマップするエンティティがあります。このエンティティのテーブルには、Categoryと呼ばれる別のテーブルへのFKがあります。RuleエンティティのCategoryからプロパティを取得する方法を理解しようとしています。エンティティマッピングで結合を使用したいのは確かですが、それが機能するように構成する方法がわかりません。これが私のマッピングです:
これが生成しているSQLです...
これが私が欲しいSQLです。
これを可能にするJoinPartには何も見つからないようです。Subselectは、私が見つけた少しのドキュメントからは有望に見えますが、その使用方法の例は見つかりません。この問題に関するアドバイスをいただければ幸いです。ありがとう!
fluent-nhibernate - Fluent NHibernate - リストをマップする方法複数のタイプに?
Fluent NHibernate との共通のインターフェイスをすべて実装するさまざまな型のインスタンスを含むリストをマップしようとしています。以下は、モデルをどのように見せたいかの簡単な例です。すべてのタイプの質問を同じテーブルに保存し、すべてのタイプの回答をタイプごとに 1 つのテーブルに保存したいと考えています。調査の例でマッピングを使用すると、Nhibernate はすべての質問を IQuestion として扱い、すべての回答を IAnswer として扱います。
sql-server-2005 - 動作中の Fluent NHibernate マッピングが無効な CreateSchema SQL をレンダリングする
私は一連の Fluent NHibernate マッピングを継承しました。これらは現在、それらが含まれているプロジェクトで動作します (つまり、アプリケーションはそれらを使用して動作します)。現在、いくつかの新しいマッピングの統合テストを構築しようとしているため、古いものと新しいもののすべてを使用してスキーマを生成します。
ただし、実行される SQL 生成スクリプトには無効なコードが含まれています。問題のほとんどは、次の 2 つのケースのいずれかのような行に起因しているようです。
このテーブルを作成するステートメントでは、上記のマッピングに対応する行は次のようになります (実際には異なる型と異なるテーブルにあります)。
False
その名前の変数がなく、ブール値が SQL Server に存在しないため、where (明らかに)は機能しません。
これを解決するにはどうすればよいですか?
マッピングを使用し、依存する大規模なアプリケーションがあるため、マッピングを変更したくありません。たとえば、デフォルトの仕様を削除します。"False"
ただし、動作するものに変更できれば"True"
、それはまったく問題ありません。ただし、他の場所の動作が変更されないことが非常に明白である限りは.
fluent-nhibernate-mapping - Fluent NHibernate マッピングの継承
オブジェクトがデータベースに存在しない場合でも、抽象クラスをマップできますか?
例:
そして潜水艦:
基本クラスへの参照が必要なクラス:
タイプがデータベースに存在しませんが、このマップを他のクラスの参照にマップする必要があります。これをマップするにはどうすればよいですか?
ありがとう。
integration-testing - この Fluent NHibernate マッピング テストは偽陽性ですか?
オーバーロードを使用するようにマッピング テストを変更した.VerifyTheMappings(TEntity first)
ところ、突然テストがパスしました。私は以前にそのオーバーロードを使用したことがなく、それがどのように機能するかよくわからないため、誤検知が発生するのではないかと心配しています.
主に驚いたのは、自動マッピングを使用しているとは思っていなかったためです。また、エンティティ全体をまだマッピングしていません。だから今私は疑問に思っています:
このテストに合格するのは、合格する必要があるからですか、それとも実際には何もテストしていないからですか?
更新:さらに調査した結果、ID をマップする限り、すべてが機能することがわかりました。これが本来あるべき姿ですか?.VerifyTheMappings(TEntity first)
実際にテストするのは何ですか?
私のコード:
構成
エンティティ:
地図:
テスト:
(はい、私のSetUp
ルーチンにもいくつかのエクスポート/ドロップ スキーマがありTearDown
ますが、それはすべて標準的なものです。このアプリケーションを中心に構築されたテスト フレームワークにネストされすぎているため、関連する部分を掘り下げることはできません。派手なことをするのではなく、ただ派手な場所で...)
postgresql - 文字列プロパティをデータベースのバイナリ列にマップする方法は?
ユーザーエンティティのクラスがあります。プロパティの 1 つは、ユーザーのパスワード (実際にはハッシュ) です。私はそれを文字列にしました(合理化されたコード):
Fluent NHibernate マッピング (合理化されたコード) もあります。
データベースの列は、PostgreSQL ではbyteaデータ型です。プロパティが文字列 (テキスト) であるため、上記のマッピングは機能しません。私は何をすべきか?
nhibernate - 従来のマッピングでのNHibernateマッピングエラー
私は、既存の機能的なアプリケーションに存在するNHibernateマッピングの大規模なセットを継承しました。このアプリケーションを分岐していくつかの新機能を開発しましたが、その一方で、よりTDDのようなアプローチを可能にするためにテストインフラストラクチャも拡張しています。しかし今、私は統合テストの1つで壁にぶつかりました...
統合テストの前に挿入するテストデータを含むクラスがあります。これらを挿入するメソッドでは、次の例外が発生します。
NHibernate.PropertyAccessException:無効なキャスト(プロパティタイプの不一致についてマッピングを確認してください); Domain.Entities.Projectのセッター--->System.InvalidCastException:タイプ「System.Object」のオブジェクトをタイプ「Domain.Entities.ProjectModules」にキャストできません。
理由がわかりません。セットアップ時にデータベースに永続化しようとする2つのProject
インスタンスがあり、どちらも次のように定義されています。
Fluent NHibernateマッピング(の関連部分)は次のようになります。
c# - Fluent Mappings でクラスを除外する
これが私のプロジェクトでの流暢なマッピングの現在のコードです
これが行うことは、現在のアセンブリ/プロジェクトにあるすべてのクラスをマッピング アセンブリに含めることです。特定のファイル/クラスをマッピング アセンブリから除外しようとしましたが、うまくいきませんでした。
これどうやってするの?
ありがとう、サンディープ