問題タブ [mapping-by-code]

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 に答える
221 参照

c# - コードによるマッピング - 双方向の関係

親子関係があり、現在、各子から親への参照のみが存在します(子テーブルに外部キー列があります)。読み取り専用の IEnumerable プロパティを親に追加したいのですが、そうできません。

テーブル名と列名は規則に従って作成されます。親プロパティを設定して新しい BranchDate を作成して保存すると、親の Branches コレクションに表示されません。

不足している設定は何ですか?

コードによる双方向 NHibernate マッピングhttp://notherdev.blogspot.cz/2012/02/nhibernates-mapping-by-code-summary.htmlを読みましたが、まだ正しく設定できていません。

編集:この動作を検証するコード

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

c# - コードによる NHibernate マッピング - 複合ユニーク インデックス

クラスの 3 つのプロパティに対して複合 UNIQUE 制約を作成するにはどうすればよいですか? 正当な値として NULL を許可する必要があります。

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

nhibernate - Nhibernate は GAC アセンブリをコードによるマッピングに追加します

とに、両方とも GAC にEmployeeEntity保存しましMyCompany.Entities.Employee.dllた。EmployeeMap: ClassMapping<SPListItem>MyCompany.Mapping.dll

コードによるマッピングを使用して、次のように ISessionFactory 実装を作成します。

マッピングで GAC アセンブリを使用するには、構成インスタンスを適切に構成する方法を教えてください。

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

c# - 「その場で」Hibernateの多対1

次の問題が NHibernate で別の方法で解決できるかどうか知りたいです。

このドメインがあるとしましょう:

プロパティは、コレクション プロパティに関連付けられた永続オブジェクトのLastAssociationWithB1 つを表します。BCollectionAssociationOfB

実際には、日付によって追加されLastAssociationWithBた最後のB永続オブジェクトを表します。

したがって、ドメインでは、 に新しいBが追加されるとCollectionAssociationOfB、 にも割り当てられLastAssociationWithBます。

これは、後でコードを単純な LINQ クエリに変換するための良い方法です。

とにかく、私の質問は次のとおりです。これに対する他のアプローチを知っていますか? たとえば、内部で SQL結合を生成するある種の多対 1 の関連付けで、テーブルに明示的な 1:n 関係を持たせる必要はありませんが、クラス プロパティは維持されますか?A

または、私の現在のアプローチは、このシナリオを解決するための推奨される方法ですか?

補足: 実際のシナリオでCollectionAssociationOfBは、NHibernate マッピング構成で順序付けが指定されているため、順序付けられたリストです。

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

nhibernate - コードによる nHibernate マッピング - オブジェクト ツリーにネストされたコレクションを設定する方法

コードによる nHibernate マッピングを使用して、やりたいことの良い例を見つけることができないようです:

「Organisms」のリストを持つオブジェクト「Message」があり、各「Organism」には「Drug」のリストがあります。以下の私の疑似例を許してください:

クラス マッピングでバッグを使用することで、このメッセージ オブジェクトを正しく保存し、正しく保持することができます。問題は、メッセージ ID を指定して Get を呼び出してメッセージを戻す場合です。「コレクションはどのセッションにも関連付けられていません」というメッセージが表示されます

私のマッパーに関して言えば、私のメッセージには生物の袋があり、生物は薬の袋を持っています。

コードによるnHibernateマッピングでこの種のことを行う例はありますか? マッパーに何かが欠けています...

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

c# - NHibernate 3.3+ Mapping-By-Code の ID フィールドで IUsertype を使用する

私はNHibernate 3.3で作業しており、コードによるマッピングシステムを使用しています。使用しているテーブル/データベースは、アプリケーションに対して読み取り専用になります。

私が直面している問題は、主キー列が SQL Server にバイナリ フィールドとして格納されていることです。これを文字列として読み取る必要がありますが、残念ながらテーブルを変更することはできません (インデックス付きビューの追加を含む)。

現時点では、IUsertypeを使用して値をバイナリから文字列に変換しようとしています。ただし、エンティティの Id 列のタイプを IUserType を使用するように設定しようとすると、行き詰まります。

以下の例のように、通常のプロパティに対しては正常に実行できましたが、ID 列と外部キー列に対してはそれを行う方法がわかりません。

  1. コードによる NH3.3 マッピングでこれは可能ですか?
  2. IUserType が Id フィールドに対して行うことを実現するには、代わりにIIdentifierTypeを実装する必要がありますか?
  3. NHibernate トランスフォーマーは私がやっていることを達成できますか?
  4. これを解決する別の方法はありますか?データを取得して C# で変換する以外に、12 を超えるテーブルの多くの列に対してこれを行う必要があります。

ありがとう

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

nhibernate - Hbm.xml をフォルダーに保存し、オンデマンドで読み込みます

エンティティ アセンブリとは別に hbm ファイルを保存し、オンデマンドで読み込む最良の方法は何ですか? xml ファイルをHbmMappingインスタンスにロードし、それをインスタンスにシリアル化する必要があると思いHibernate.Cfg.Configurationますか?

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

c# - コード ディクショナリによる Nhibernate マップキーと値のペアを辞書に挿入しない

Nhibernate Map By Code を使用して Dictionary をマッピングする際に問題が発生しています。クラスを多言語化しようとしています。そのために、LanguageCodeごとに適切な_i18n LanguageClassを安全にする辞書を作成しました。

マッピングは機能しているように見えましたが、言語辞書を使用して製品を取得したい場合、それは常に null であり、その理由がわかりません。

これが私のコードです:

マッピングは次のとおりです。

そして、それが情報を取得するための私の主な機能です:

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

c# - IDictionary をマッピングする Hibernate MappingByCode

それを FNH でマッピングしようとしたところ、多くの問題が発生し、最終的に FNH が不足しており、もう維持されていないことがわかったので、これまでのところ動作しますがドキュメントがない Nhibernate MappingByCode を試すことにしました...

IDictionary をマップする方法が見つかりません

km(キー マッピング) のオプションは、要素 (値の型)/コンポーネント (同じテーブルの内部オブジェクト)/ManyToMany (このコンテキストではよくわかりません) です。

最も論理的なことのように見えるので、両方で ManyToMany を使用しようとしましたが、機能しませんでした。

ディクショナリを保存するときに SaveUpdate は成功しましたが、DB に正しく保存されず、ディクショナリを取得できませんでした。

編集:ここに辞書構造のサンプルがあります

テーブル構造について -

別のデータベースに保存され、DB から再作成される場合、このテーブル構造である必要はありません

@ダニエル-ここにhbmがあります

編集3(私は思う):