問題タブ [automapping]
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.
c# - Fluent NHibernate でコレクションを自動マッピングする場合、子の外部キーを親に null 可能にするにはどうすればよいですか?
親クラスがある場合:
そして次のような子クラス:
Fluent NHibernate の automapper がこれらの人を攻撃するたびに、Child
クラスに null 非許容の外部キーが作成されます。いくつかの自動マッピング規則と特定のクラスのオーバーライドをいくつか変更しましたが、この特定のペアについてはParent
クラスのみがオーバーライドされます。Parent
オーバーライドは、クラス のコレクション パーツをマップする方法を指定しません。
コレクションの子で外部キーを null 不可にするのがデフォルトの動作ですか、それとも何かを修正しましたか?
マッピング オーバーライド クラスで、子の外部キーが null 可能であることをどのように指定しますか?
平和!
nhibernate - Fluent NHibernate / Nhibernate&Automappingを使用した積極的な読み込み
ノードと呼ばれる複雑なオブジェクトをロードする必要があります...それほど複雑ではありません...次のようになります:-
ノードには、プロパティを持つ1対多を持つEntityTypeへの参照があり、プロパティは、PorpertyListValueを持つ1対多です。
私がやろうとしているのは、Nodeオブジェクトにすべての子オブジェクトを一度にロードすることです。遅延読み込みはありません。その理由は、データベースに数千のノードオブジェクトがあり、WCFサービスを使用してそれらをネットワーク経由で送信する必要があるためです。クラスSQL N+1の問題が発生しました。私は自動マッピングでFluentNhibernateを使用していますが、NHibernate Profilerは、FetchMode.Eagerを使用してオブジェクト全体を一度にロードすることを提案しました。私は次のqyueryを使用しています
またはNHibernateLINQを使用する
上記のクエリのいずれかを実行すると、両方とも、すべての左側の外部結合を含む1つの同じ単一のクエリを生成します。これが必要です。ただし、何らかの理由で、クエリから返されるIListがオブジェクトにプロパティをロードされていません。実際、返されるノード数はクエリの行数と等しいため、ノードオブジェクトが繰り返されます。さらに、各ノード内のプロパティが繰り返され、リスト値も繰り返されます。
したがって、上記のクエリを変更して、プロパティとリスト値を含むすべての一意のノードを返す方法を知りたいと思います。
fluent-nhibernate - Fluent NHibernate マッピング - 複合キー
FNH で次のテーブル/エンティティをマップしようとしていますが、どこにも速くないようです!
(S#arp アーキテクチャ フレームワークも使用していることに注意してください)
複合 ID を使用する場合は、複合 ID を別のクラスに分離することをお勧めします。 ハイバネート複合キー
私は非常に多くのマッピングの組み合わせを試しましたが、今では完全に混乱しています。
これは私の最新のショットです:
マッピングを生成しようとすると、多くの例外がスローされました。最新のものは次のとおりです。
私が間違っていることは明らかですか?私は NH と FNH を初めて使用しますが、これはこの投稿から明らかかもしれません。:-) また、S#arp アーキテクチャを使用しているときに、このような複合 ID を使用した人はいますか? ベストプラクティスは何ですか (代理キーを使用する以外:-))?
どうもありがとうございました...そして長い投稿について申し訳ありません。
fluent-nhibernate - Fluent nhibernate 自動マッピング コレクション
コレクションを FNHib 自動マッピングでマッピングしようとしています。私が解決したい問題は次のとおりです。
1) プロジェクト内のすべてのコレクションをプライベート フィールド経由でマップしたい。それを世界的にどう言えばいいの?
2)各エンティティを明示的にオーバーライドせずに双方向の関係を自動マップする方法はありますか?
クラス OrganizationEntity の例:
クラス WarehouseEntity の例:
.net - FluentNHibernateJoinedSubClassは廃止されました
なにかしら。私はここに解決策を持って座っています。2つのサブクラスを持つ1つのスーパークラスがあり、現在、JoinedSubClassを使用してこれをマッピングしていますが、このメソッドは廃止されており、ClassMapとSubClassMapが必要であると言われていますが、これを行うとAutoMappingは機能しません、そして私はそれを望んでいません。これに対する回避策はありますか?
階層は次のとおりです。
おそらくお気づきかもしれませんが、これを階層ごとのテーブルにしたいのです。多対多のリストを持つサブクラスをマッピングします。テーブル'Tag'のように、次にTag_RespondentとTag_Archive(多対多の関係の場合)。
現在使用しているマッピングは次のとおりです。
誰かがこれを解決するための回避策または別の解決策について知っていますか?(自動マッピングを無効にせずに)
任意の回答をいただければ幸いです。
前もって感謝します!
c# - Fluent Nhibernate Automapping での 'No persister for:' 例外のヘルプが必要
NHibernate Fluent Automapping の適用に問題があります。テストプロジェクトではうまく機能しました。でも今..
クラス (ここでも、同じ例外がはるかに単純なテストクラスで発生します。したがって、問題はここにあるべきではありません):
上記のクラスの save メソッド (テスト プロジェクトで動作する単純なテストクラスでも同じように見えます):
接続文字列とセッション ファクトリを設定した場所:
構成:
構成は、'System.Xml.XmlAttribute' の以前のマッピング例外を処理することです。
データベースが正しく設定されていない場合、このエラーが発生する可能性はありますか? 私が知っているクラスを使用して、NHibernate Automapping (別のプロジェクトから) で動作することをテストしました (他のプロジェクトと同じ)。そして、私はまだ同じ例外を受け取りますが、「単純な」クラスの場合です。
だから、それはクラスではありません。
うまく機能する他のプロジェクトからコピーされたため、接続文字列ではありません。
データベースの設定 (または少なくともセキュリティ/アクセス設定) ではありません。テーブルを間違って構成すると、別のエラーが発生するはずだと思います。前述のように、別のプロジェクトで機能するものに向けると同じ例外が発生します。
小さなばかげた間違いをしないようにするためだけに、すべてを削除して一度書き直しました。もしそうなら、私はそれを2回やった。
前述のとおり、ご覧のとおりです。このコードは非常に単純です。複雑なのはクラスだけです。非常に単純なクラスに変更しても、同じ例外が発生します。
アイデアはありますか?
.net - S#arp アーキテクチャの自動マッピングを HBM ファイルでオーバーライドするには?
S#arp アーキテクチャの複合キーの問題に直面しています。それを行う方法または自動マッピングでマッピングファイルを使用する方法の例はありますか?
mysql - テーブル定義における Fluent Hibernate Automapping の問題 (すべてのインデックスが null ではない)
タイトル: 同じ変数名リストを持つ複数のクラスがテーブル定義に問題があります (すべてのインデックスが null ではありません)
1つのインターフェースから2つのクラスを実装しているとしましょう
テーブルが myList 用に作成されると、テーブル定義は次のようになります
- class1_id 'not null = true'
- 価値
- class2_id 'not null = true'
値を保存しようとすると、一度に id 値が常に 1 つしかないため失敗します。
class1 が保存されると、class1_id のみが保存され、class2_id は空になります。これにより、挿入がエラーで失敗します。
fluent-nhibernate - 基本クラス(抽象的でマッピングでは無視される)からのIDを使用するようにflunet-nhibernateに指示する方法
私は抽象クラスを持っています
および派生クラス
Fluent Auto Mappingを使用している
ので、Documentのテーブルを作成する必要はありませんが、DocumentIDを主キーとして取得するには各派生クラスが必要です。
しかし、それでもIDが見つからず、DoctorDocumentにIDがないことを通知します。しかし、私が次のオーバーライドを行ったとき、それは機能しました:
すべてのエンティティに対してそれを行うように自動マッピングに指示するにはどうすればよいですか?特にGeneratedBy.Identity();
c# - FluentNHibernateAutoMapperのアクセシビリティによるプロパティマッピングを無視する
FluentNHibernateのAutoMapperを使用してマッピングしている次のクラスがあります。私はリストアイテムを公に変更可能にしたくないので、内部またはNHibernateによって入力できるIEnumerable
anに裏打ちされたパブリックを持っています。IList
teamMembers
NHibernateを。という名前の列にマップしたいTeamMembers
。TeamMembers
また、FNHにこのクラスのプロパティを無視してもらいたいです。