問題タブ [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 - nhibernate でより深い階層をマッピングする方法
私はこのオブジェクトグラフを持っています、私はマッピングしたい:
- 抽象的なアカウント (ユーザー名、パスワードなど)
- 抽象的な顧客 (ショッピングカート、注文、役割)
- IndividualCustomer (ユーザー データ)
- CorporateCustomer (異なるユーザー データ、会社データ)
- 管理者 (管理者ロール)
- 抽象的な顧客 (ショッピングカート、注文、役割)
これを 1 つのテーブルに対してどのようにマッピングできますか? (ドキュメントのように、深さ 1 レベルのみのエンティティ階層でこれを行う方法は知っていますが、これは異なります)。
誰にもアイデアがありますか?http://groups.google.com/group/nhusers/browse_frm/thread/7a85cba0048c18d8?hl=enで同じことを尋ねました が、これまでのところ有用な回答は得られていません。
nhibernate - 多対多の関係を持つ Bag に Hibernate フィルター属性を適用する
次の Hibernate マッピング ファイルを検討してください。
次のコマンドを実行すると:
結果の SQL には、Bag of Clips にフィルター属性を追加したにもかかわらず、「Clips」テーブルではなく、中間マッピング テーブル (contentAudVidLinks) に WHERE 句があります。
私は何を間違っていますか?
c# - Cascade.SaveOrUpdate (SQLite) fluent-nhibernate
Tournament と Players の 2 つのクラスの間に多対多の関係があります。
マッピングで Cascade.SaveUpdate を設定しましたが、Tournament インスタンスを保存するときに、プレーヤーが Players テーブルに保存されません。Nhibernate は、リンク テーブルに親と子のキー列のみを書き込みます。DBはSQLiteです。
これらはマッピングです
c# - Hibernate マッピングの問題 (と思います)
さて、「ビジネス」という名前のオブジェクトがあります (「ビジネス ビジネス オブジェクト」です) 保存すると、その外部キーが何らかの形で失われます。他のすべては節約です。コードをステップ実行し、オブジェクトが
session.SaveOrUpdate(businessObject);
方法。その時点のオブジェクトは無傷であり、外部プロパティがそこにあるようです。ただし、保存すると、外部 ID はビジネス テーブルにありません。これは、正しくマッピングしていないことが原因であると想像できますか?
それらがマッピングされている場所は次のとおりです。
オブジェクトがロードおよび保存される場所は次のとおりです。
ご協力ありがとうございました。
nhibernate - Fluent NHibernate Automappingにプライベートフィールド規則を使用することは可能ですか?
流暢なNHibernateAutoPersistenceModelを使用してプライベートフィールドにマップするにはどうすればよいですか?
AutoPersistenceモデルのフィールド規則はありますか、それともフィールドを持つクラスに個別のマッピングを使用する必要がありますか?
nhibernate - 複数のエンティティのコレクションからのカスケード削除
Customer、Device、LocationTag の 3 つのエンティティがあります。
顧客は LocationTags のリストを持っています (ID と説明のみ)。また、デバイスのリストもあります。
デバイスには顧客の LocationTags のサブセットがタグ付けされているため、デバイスにも LocationTags のリストがあります (ただし、顧客のもののみ)。
顧客のリストから LocationTag を削除する場合、デバイスの LocationTag のリストからもカスケード削除したいと考えています。現在、ドメインオブジェクトクラスの手動コードで動作していますが、私の意見ではDRYに違反しています。
Fluent NHibernate マッピングを介してこれを達成することは可能ですか?
簡略化された Fluent NHib マッピング:
お客様
デバイス
ロケーションタグ
nhibernate - NHibernate - 文字列外部キーのマッピング
私が継承した従来のデータベースには、次のテーブルが含まれています。
プレーヤー テーブルの外部キーは、teamId ではなくチーム名を参照します。
バッグを使用してチームからプレイヤーにマッピングしようとしました:
しかし、SqlException: Conversion failed when conversion the varchar value 'Arsenal' to data type int が発生します
バッグを使用して文字列の外部キーを他の領域にマップできましたが、その場合、外部キーは親テーブルの主キーを参照していました。
編集:NHibernate 2.0.1を使用しています
nhibernate - FluentNHibernateで複合UNIQUE制約を作成するには?
Map(x => x.GroupName).WithUniqueConstraint()
私は、単一のプロパティに対してできることを知っています。
しかし、流暢な nHibernate で複合一意制約を作成するにはどうすればよいでしょうか (一意制約は 2 つの列の組み合わせで機能します)。
nhibernate - where句を使用して1対1でマッピングする方法はありますか?
私はHibernate/NHibernateに比較的慣れていないので、このトピックについての私の無知を許してください、しかし私は理解できないマッピングに遭遇しました:
これは私のデータベーステーブルがどのように見えるかです:
where句を使用して1対1でマッピングする方法はありますか?
したがって、BinContentオブジェクトは、VIDEOまたはCLIPのいずれかのItemTypeを持つことができます。これらは文字列としてキー設定されており、残念ながら変更することはできません。
したがって、ItemTypeフィールドに「VIDEO」と表示されている場合は、多対1の「Video」オブジェクトが必要ですが、ItemTypeフィールドに「CLIP」と表示されている場合は、多対1のクリップが必要です。 。
ヘルプ!
この場合、多対1を使用するかどうかさえわかりません。おそらく1対1ですか?