問題タブ [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 投票する
3 に答える
3792 参照

nhibernate - コードによるマッピングを使用してnhibernate 3.2のテーブル列のデフォルト値を設定するには?

NHibernate プロジェクトのマッピング メカニズムとして Fluent NHibernate を使用していました。しかし、NHibernate 3.2 になると、コードによるマッピングが組み込まれており、NHibernate 3.2 用の Fluent Nhibernate リリースは公開されないことに気付きました。

エンティティ プロパティのデフォルト値を設定したいときに質問がありました。それを行うための API が見つかりませんでした。誰かアドバイスをいただけますか?

0 投票する
3 に答える
2411 参照

nhibernate - FluentNHibernateまたはコードによるNHibernateマッピングへの移植

NHとFNHを使用してマッピングを生成するプロジェクトがいくつかあります(一部のFluentと一部の自動マッピング)。私が必要とするいくつかのバグと不足している機能がまだありますが、NHibernateに統合されたコードによるマッピングのためにFNHが死ぬ可能性があるようです。

質問:FNHに貢献するか、マッピングをコードによるマッピングまたはconfORMに移行し、そこで問題を修正/機能を実装しますか?

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

c# - コードでnHibernate 3.2データベース構成?

NHibernate には、コードでエンティティをマップする新しい方法がいくつかあるようですが、これは非常に優れていますが、コードでデータベース接続を構成する方法に関する情報が見つかりません。NHibernate (バージョン 2) を使用してからしばらく経ちましたが、この機能を提供する Fluent NHibernate には慣れています。NHibernate 3.2 に組み込まれている同様の機能はありますか? もしそうなら、どのように使用すればよいですか?

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

c# - NHibernate 3.2 コードによる (準拠) ディクショナリ プロパティの ClassMapping

ルックアップ辞書を持つクラス「SomeClass」があるとします。

現在、 SomeClass.hbm.xml に次のようなマッピングがあります。

NHibernate の新しい (バージョン 3.2) By Code マッピングを使用したいと考えています。上記の辞書プロパティをどのようにマップしますか?

現在私は持っています:

ほとんどの場合、辞書マッピングのインデックスと要素に相当するものを指定する方法に途方に暮れています。

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

c# - ストアドプロシージャのマッピングを作成する方法

ストアドプロシージャ呼び出しの戻り値をマップする方法に関する優れた投稿がここにあります:http: //elegantcode.com/2008/11/23/populating-entities-from-stored-procedures-with-nhibernate/

この例のマッピングは、hbmファイルを介して行われました。

コードを介してマッピングを実行できる最新バージョンのNhibernate(3.2)を使用しようとしています。私は本当に以下のようなマッピングを作成するC#コードを見つけたいと思っています:

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

nhibernate - コードによる Nhibernate Loquacious マッピング (Not-Found=Ignore)

孤立したレコードを無視する必要があるため、レガシーデータベースに ManyToOne マップを作成しようとしています。

それを記述する元のxmlの方法は次のとおりです。

しかし、NHibernate 3.2 Mapping by Code を使用して説明することはできません。

マップを記述するために使用しているコードは次のとおりです。

NotNullable(true) が存在するのは、新しいレコードまたは更新されたレコードには常にギャングが存在する必要があるためですが、ユーザーがレコードを変更できるようにするには、レコードを読み取り/選択する必要があります。

あなたが提供できる助けを事前にありがとう、それは私を夢中にさせています。

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

c# - NHibernate 3.2 でのマッピング - 配列、カスタム リスト

現在NHibernate 3.2を見ていて、コードによるマッピングに少し苦労しています。文字列または整数の配列をマッピングする簡単な例を教えてもらえますか? XMLによるマッピング以外のコード例やドキュメントはどこにも見つからないようです。

第 2 に、コードによるこの新しいマッピングでは、カスタム コレクションに IUserCollectionType を実装する必要があるという制限がありますが、まだ有効ですか?

前もって感謝します。

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

nhibernate - NHibernate 3.2(loquacious)およびbycodeマッピングを使用してpostgresにレコードを挿入する

私は非常に基本的なNHibernate3.2タスクに取り組んでおり、既存のPostgresテーブルにレコードを挿入しています。私は非常に単純なオブジェクトを使用しているので、この質問に意味があります。

postgresテーブルは次のとおりです。

私のマッピングクラスは次のとおりです。

私のデータクラスは次のとおりです。

最後に、私が実際に上記のすべてを使用しようとしているコードを含むクラス。

「session.SaveOrUpdate(cat1)」でGenericADOExceptionが発生し、「挿入できませんでした:[DAL.Postgres.Tables.Cat] [SQL:INSERT INTO cat(name、Sex)VALUES(?、?); select lastval ()]」。InnerExceptionは"{"エラー:42703:リレーション\"cat\"の列\"sex\"が存在しません"}"です。

「sex1」を「cat1」に、「sex2」を「cat2」に適切に割り当てて、最初が男性、2番目が女性になるようにする方法に少し困惑しています。

ご入力ありがとうございます。

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

nhibernate - コンポーネントを削除するときに NHibernate が誤って null と比較する

現在、エンティティのコンポーネント コレクションを更新するときに問題があります。元々はバッグとしてマップされていましたが、そのため毎回すべてのエントリが削除され、再挿入されていました。それをセットに変更すると、その問題は修正されましたが、新しい問題が発生しました。

コンポーネント タイプは、 とTrackingの複合キーUserIDItemID、null 許容の日付である 2 つのプロパティを持つと呼ばれます。これらのいずれかが現在の時刻に設定されて作成DateReadされると、後で新しい日付のエントリに置き換えられます。

NHibernate が生成する基になる SQL には、すべてのプロパティが一致することを確認する where 句があります。

問題は、他の日付DateAcknowledgedが null であることが多く、生成された SQL に構文エラーがあるように見えることです。null チェックを行うには、次のように: = NULLではなく:を実行しIS NULLます。

問題は、何を削除するかを決定するために 2 つの日付がまったく必要ないということです。アイテム ID とユーザー ID を確認するだけで十分です。

セットを定義するマッピング コードは次のとおりです。

コンポーネントのマッピングは次のとおりです。

NHibernate に where 句でのみキーを使用するように指示する方法、または null を正しい方法で比較するように指示する方法はありますか?

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

nhibernate - NHibernate によるサブクラス継承マッピングごとのテーブル コードによるマッピング

このクラスの新しい NHibernate Mapping-By-Code in Table Per Subclass 戦略でマッピングを記述する方法: