問題タブ [conform]
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 - ConFORM Nhibernate OneToManyKeyColumnApplier の問題
MVC プロジェクトの 1 つで ConFORM Nhibernate を使用しています。1対多のマッピングに問題がありました。
クラス Order および User: One User には多くの Order がありました。
そしてユーザー:
私は次のような関係を期待しています: Orders.UserId -> DB の User.Id。しかし、Nhibernate が DB を生成したときに、この問題が発生しました (画像を参照)。
UPS。二重参照 User と UserId が突然発生しました。[user] を削除すると、Nhivernate はこのテーブルの内部結合を行うことができません。2 倍の時間が悲しい: 列名 'User' が無効です。列名 'User' が無効です。
ConFORMの設定に問題があると思います。mapper.PatternsAppliers.Merge(new OneToManyKeyColumnApplier(relationalMapper)); を削除すると ConFORM は [User] 参照キーだけを生成します。
ここで何が問題なのか知っている人はいますか?前もって感謝します。
nhibernate - ConFORM Nhibernate OneToMany カスケード
Nhibernate ConFORM カスケードに問題があります。2 つのエンティティが存在します。
および役割:
カスケード設定:
この自動マッピングにより、次が得られます。
ロールを削除せずにユーザーを削除したい。ほとんどすべてのテストに合格しましたが、これは落ちます:
エラー メッセージ: 削除されたユーザーを取得しようとすると表示されます (var u = repo.GetByName("memoryUser");)。
削除されたオブジェクトはカスケードによって再保存されます 関連付けから削除されたオブジェクトを削除します
この問題を解決するにはどうすればよいですか?
c# - NHibernate リレーションシップには、双方向のデータ取得に関する問題があります
多対多の関係を持つ2つのテーブルがあります。
エンティティのコード
このクラスを適合マッピングで多対多としてマッピングします。
xml では、このマッピングは次のようにコンパイルされます。
問題は、製品エンティティからカテゴリを取得できることですが、カテゴリから製品を取得しようとすると機能せず、リストが空です。
c# - 実行時にNHibernateクラスを拡張/変更する
すでにそこにオンポイントの答えがあるが、私はそれを見つけられなかった場合はお詫び申し上げます。NH3を使用していて、クラスが特定のインターフェイスを実装しているエンティティにSetを追加したいというユースケースがあります。構成ビルダークラスがあるので、セッションファクトリを作成する前にこれらの変更を行うことができます。
この縮小された例を考えると:
そして、このマッピング例:
この機能を多くのクラスに透過的に適用できるようにしたいので(インターフェースを実装するだけで)、マッピングに「ExtraItem」を入れたくありません。代わりに、実行時に追加したいと思います。したがって、xmlマッピングからプロパティを削除した場合、実行時にこれを追加するにはどうすればよいですか?
私が行おうとしている変更の種類を正確に説明しているものがあります:http: //ayende.com/Blog/archive/2008/05/01/Dynamic-Mapping-with-NHibernate.aspx
しかし、多対多のセットをマッピングするわけではなく、私の弱い脳は、nhibernateが効果を作成するために使用するメモリ内マッピング表現を解読できませんでした。これは、デバッガーに表示されるプロパティを一致させようとすることに基づいて、私がこれまでに最も近いものです。
テストでは、キーがnullであるため、これによりランタイムエラーが発生しますが、XMLマップバージョンは機能し、変更を加えた時点ではほぼ同じように見えます。
ボーナスポイント:結合されたテーブルが必要なため、特に多対多が必要です。これにより、パフォーマンスのために、真の外部キーを使用してエンティティを拡張データにマップできます。ExtraItemsは実際には真のエンティティではなく値型である必要がありますが、XMLであっても、それをマップする方法を理解できませんでした。
ボーナスポイント、パート2: confORMでこれを行うことはできますか?既存のすべてのマッピングをconfORMに切り替えたくありません。また、confORMを従来のXMLマッピングと混合する例を見つけることができませんでした。既存のマッピングを変更してもかまいません。Fluentは別のオプションですが、私はNH3を使用しており、Fluentはまだそれをサポートしていないと思います。
前もって感謝します!
編集私の問題は、セットの要素を定義していないことだとかなり確信しています。ただし、セットの要素を適切に定義する方法がわかりません。
nhibernate - nhibernateConfORMでSQLクエリを使用する方法
nhibernate ConfORMを使用して異なるdataaseから2つのテーブルを結合する、または少なくともnhibernate ConfORMでSQLクエリを作成するにはどうすればよいですか?
これは私が実行する必要があるクエリです:
ありがとう、アレクセイ
nhibernate - NHibernate3.2準拠の複合ID
NHibernate3.2にアップグレードしています。Fluent NHibernateを使用していましたが、NH3.2の新しいビルドが表示されません。付属のConformマッパーの使用を検討していますが、複合IDを使用できないようです。データベースを変更できないため、制約があります。
Fluent NHibernateで私はこれを持っていました(名前は例えば変更されただけです):
NH 3.2のConformでこれを行うにはどうすればよいですか?
ありがとう、ポール
model-view-controller - confORMを使用したNHibernateのマッピング
私は2つのクラスを持っています(簡潔にするために要約されています):
と
彼らは多対多の関係を持っています、そして私はしたいです:
- 1つの材料を削除すると、その製品は削除されず、リストの材料のみが削除されます。
- 1つの商品を削除すると、材料はすべて削除されずに残ります。
このマップを作成しましたが、これを機能させることができません。
nhibernate - 複数の孫コレクションを取得する方法
私はこのテーブル構造を持っています:
Linqクエリで取得したい:
そして、このクエリは次の SQL コードを取得します。
フェッチを使用して重複した左結合を削除するにはどうすればよいですか?
nhibernate - NHibernate で ID 列のないビューをマップする方法は?
読み取りのみを行うビューがあります (書き込みはありません)。このビューには一意のキーがありません (イベント コンポジットではありません)。
ビューに触れずにNHibernateでこのビューをマップするにはどうすればよいですか? ビューに新しい列を追加して、一意の ID を生成したくありません。このビューをマップし、NHibernate 側で ID 列を生成する方法はありますか?
次のようなエンティティ クラスで GUID を生成できます。
しかし、どうすればマッピングを機能させることができますか? 次のコードは機能しません。
ビューに Id 列があることを期待して、次をスローします。
ところで、私は NHibernate 3.2 とコードによるマッピングを使用しています。
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")
は次のとおりです。
誰が同様の問題を抱えているか、解決策を提供できますか? 助けが必要。