問題タブ [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.

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

nhibernate - table-per-subclassを使用してサブクラスのサブクラスをマップしようとするFluent NHibernate

私は重い継承を持つアプリケーションを構築しており、A、B、C のクラスが存在する部分があります。

クラスA

クラス B : A

クラス C : B

次のように、クラス B のサブクラスごとのテーブル スタイルとしてサブクラス マッピングを実装しました。

これは完璧に機能します。ただし、次のようにCを実装したい場合:

エラーが発生します

Hibernate/NHibernate フォーラムを参照しましたが、この問題に対する回答が見つかりませんでした。

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

c# - Fluent Nibernate 外部キー マッピング

私はテーブルを持っています:

プレイヤー
ID: int - 主キー
名: 文字列

BowlerType
Id : int - primarykey
説明 : string

PlayerBowlerType
PlayerId : Player.Id を参照する
int が null でない外部キー

プレイヤーは多くのボウリングの種類を確認できます。ここにいくつかのサンプルデータがあります

プレーヤー
1 | ピーター
2 | ジョン

ボウラータイプ
6 | スロー
7 | 速い

PlayerBowlerType
1 | 6
1 | 7
2 | 7

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

vb.net - 自動マッピングせずに特定のプロパティを無視するようにFluentNHibernateに指示するにはどうすればよいですか?

FluentNHibernateを使用して既存のデータベースをマップしています。このため、自動マッピングは私にとってオプションではありません。

特定のプロパティをマップしないようにNHibernateに指示するにはどうすればよいですか?それらの多くは読み取り専用であり、他の理由で永続化する必要はありません。

私はこれをVB.Netで書いています。

典型的なエラーメッセージが表示されます:「次のタイプはプロキシとして使用できない可能性があります...「パブリック/保護された仮想」または「保護された内部仮想」である必要があります」

NHibernateがオブジェクトに触れないようにするため、オブジェクトを意図的にオーバーライド可能(C#の仮想に相当)にしませんでした。

どうすればこれを達成できますか?

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

fluent-nhibernate - Fluent - Identity での 1 つの子との関係、複合キーでの他の子との関係

だから、私は次のInvoiceようなオブジェクトを持っています:

次に、このような請求書の項目があります

そして最後に、請求書の支払い

問題は、これです。 の基礎となるスキーマInvoicePaymentにはInvoiceNumberSiteId(Siteオブジェクトへの) とCustomerId(Customerオブジェクトへの) があります。

InvoiceLineItem には、InvoiceId が にリンクしていInvoiceます。

したがって、Invoice のマッピングは次のようになります。

ラインアイテムのマッピング

最後に、請求書支払いのマッピング

だから、そのまま、私はエラーが発生しています

外部キー (FKE9F746C567E71B3F:InvoiceLineItems [InvoiceId])) には、参照される主キー (InvoiceView [SiteId, CustomerId, InvoiceNumber]) と同じ数の列が必要です

複合 ID の請求書支払いと ID 列の項目に結合するようにマッピングを調整するにはどうすればよいですか?

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

class - Fluent NHibernateによるクラスマップ設定

私はNHibernateを初めて使用し、マッピングにXMLを使用せずにストアドプロシージャのClassMapを作成する方法の明確な例をオンラインで見つけるのに苦労しました。私は最近、Fluent インターフェースを使用してこれを機能させ、学んだことを共有したいと考えました。

問題のストアド プロシージャは、次のようなオブジェクトを返します。

では、NHibernate がストアド プロシージャの結果をこのオブジェクトにマップするために使用する ClassMap を作成するにはどうすればよいでしょうか。

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

nhibernate - NHibernate 3.2 に切り替えた後の計算式

NHibernate 3.1 で次の式を使用します。

しかし、NHibernate 3.2 に切り替えると、次の問題が発生します。

あいまいな列名の構造

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

vb.net - 流暢なNHibernate重複カラム

冗長な主キーの問題がいくつかあります。

多くのレポートを含むアイテムがあります。以下のようにマッピングしました。私はできますSession.QueryOver(Of Item).Listが、余分な列は生成されません。私もできますSession.QueryOver(Of Report).Listが、余分な列は生成されません。

ただし、アイテムからレポートへの関係をトラバースしようとすると、以下に示すSQLクエリが表示されます。誰か教えてもらえますか?前もって感謝します!

アイテムマッピング:

レポートマッピング:

SQL結果:

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

c# - 2 つの非主キー列で結合する Fluent Nibernate マッピング

ビューを作成せずに、2 つの非主キー列を持つ 2 つのテーブルを結合する方法はあるのでしょうか? 「Name」と「Year」の列を持つ「Make」というテーブルがあり、「MakeName」と「MakeYear」の列を持つ「Style」という別のテーブルと結合したいと考えています。1 つの「Make」に複数の「Style」を含めることができます。これまでに作成したエンティティは次のとおりです。

また、これらは私がこれまでに持っているクラス マップです。

ありがとう!

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

nhibernate - Fluent nHibernate: サポートされていないマッピング タイプ

Access データベースからインポートされた SQL データに対してマップする新しいソリューションを設定しています。自動マッピングは、定義したエンティティに対して正常に機能しますが、Fluent マッピング タイプを使用して .NotFound.Ignore 拡張機能にアクセスできるようにする必要があります。

私は別のプロジェクトでまったく同じ構文を使用しました (私は思います!)。これは正常に動作します。「サポートされていないマッピング タイプ 'IT.Classes.Entities.Admin'」の原因となる男子生徒のエラーが発生しましたか? どんな助けでも大歓迎です。

DDL:

実在物:

マッピング:

FluentNHibernate.Mapping を使用します。IT.Classes.Entities の使用;

セッション ファクトリ:

編集

自動マッピングをエクスポートして、流暢なマッピングの問題を強調するかどうかを確認しようと思いましたが、正しいようです。

編集2

完全なスタック トレース。潜在的な理由 = 0 に注意してください。

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

nhibernate - NH 3.2 で多対多の関係を使用して .ChildWhere() マッピングを実装する方法

次の FNH マッピングがあります。

結果の hbm ファイルは次のとおりです。

NHibernate 3.2 の「コード機能によるセクシーなマッピング:-) / コンフォームド アプローチ」を使用して同じマッピングを実装したい

注: 次のアプローチは機能しません。

理由: FNH マッピングに従っている:

.Where("IsDeleted = 0") と .ChildWhere("IsDeleted = 0") は同じではありません。

HBM の違い:

使用した結果の hbm ファイル.ChildWhere("IsDeleted = 0")は次のとおりです。

使用した結果の hbm ファイル.Where("IsDeleted = 0")は次のとおりです。

誰が同様の問題を抱えているか、解決策を提供できますか? 助けが必要。