問題タブ [automapping]
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.
c# - Fluent NHibernate automapper: table-per-subclass を使用して中間クラスをスキップする
次の構造をマップするために、table-per-subclass で Fluent NHibernate マッパーを使用しています。
A
私のデータベースには、 classと classを表すテーブルしかありませんC
。クラスB
は私の便宜のために私のモデルにのみ存在し、マップする必要があるプロパティは含まれていません。
オートマッパーをスキップして のサブクラスとしてB
マップするにはどうすればよいですか?C
A
fluent-nhibernate - 継承の自動マッピング:基本クラスのDiscriminator規則を追加する方法
ISubclassConventionを実装することで、クラス階層内のサブクラスのディスクリミネーター値を変更できます。現在、基本クラスにもディスクリミネーター値を設定する方法を探しています。規則のオーバーライドで変更する方法はありますか、それとも階層の手動マッピングを追加する必要がありますか?
(IClassConventionはDiscriminatorValueプロパティを提供しますが、読み取り専用であるため、運がありません。)
c# - 長いテキスト文字列の流暢なNHibernateのオーバーライドnvarchar(255)ではなくnvarchar(MAX)
流暢なNHibernateで文字列値を設定すると、常にDB値がNvarchar(255)に設定されます。ユーザー入力に基づく非常に多くの長い文字列を格納する必要があり、255は実用的ではありません。
これを追加するだけで、データベースを構築するために流暢なNHibernateを使用しているため、オートマッパーの問題になります。
fluent-nhibernate - Fluent NHibernate と計算されたプロパティ
Fluent NHibernate を使用しており、クラスを自動マッピングしています。
次の行に沿って、クラスに計算されたプロパティがあります
これは残りのプロパティにマップされていないため、ICriteria 制限では使用できませんでした。私は空のセッターを追加しました(どこかで読んだように、そうするとマッピングに含まれますが、そうです)、NHibernateエラーが発生しています:
クエリを実行できませんでした...列名 'LastActionTimeStamp' が無効です。
したがって、私の質問は次のとおりです。Fluent NHibernate に、このプロパティのデータベースを無視するように NHibernate に指示するにはどうすればよいですか?
fluent-nhibernate - Fluent NHibernate でツリー階層を自動マップできますか?
単純なネストされたオブジェクト構造を自動マップすることは可能ですか?
このようなもの:
実行時に次のエラーが発生します。
コレクションのマッピングで繰り返される列: SharpKtulu.Core.Employee.Manages 列: EmployeeFk
この種の構造を自動マップすることは可能ですか、またはこの種の構造の自動マッパーをオーバーライドすることはできますか?
nhibernate - モデルでインターフェイスを使用すると、「関連付けがマップされていないクラスを参照しています」というエラーが発生する
次のモデルとプログラムの DDL を生成するために fluent で automap 機能を使用しようとしていますが、NHibernate で GenerateSchemaCreationScript メソッドを呼び出すと、どういうわけか "関連付けがマップされていないクラスを参照しています: IRole" というエラーが発生し続けます。IList のタイプをインターフェイス (ユーザーとロール) の実装に置き換えると、すべて正常に動作します。ここで何が間違っていますか?Unity で定義されている IUser と IRole の実装バージョンを流暢に使用するにはどうすればよいですか?
次のプログラムを使用して、NHibernate の GenerateSchemaCreationScript を使用して DDL を生成します。
fluent-nhibernate - 自動マッピングには ID がマッピングされていません
私のマッピング:
単体テストを実行するとこのエラーが発生し続けるため、何が問題なのかを理解してくれる人が必要です。
c# - FluentNHibernate オーバーライド: UseOverridesFromAssemblyOf 非ジェネリック バージョン
汎用実装から継承するリポジトリ クラスがあります。
汎用リポジトリの実装では、Fluent NHibernate 規則が使用されます。彼らはうまくいっています。これらの規則の 1 つは、すべてのプロパティが null 可能ではないということです。
ここで、特定のプロパティが規約外で null 可能になる可能性があることを定義する必要があります。Fluent NHibernate には、興味深いオーバーライド メカニズムがあります。
ここで、オーバーライド クラスを Fluent NHibernate に登録する必要があります。Web.Generics.GenericNHibernateRepository
ジェネリック クラスに次のコードがあります。
問題は次のとおりです。UseOverridesFromAssemblyOf
これは一般的な方法であり、そのようなことはできません。
それは循環参照を引き起こすからです。プロジェクトごとに異なるため、汎用リポジトリにリポジトリまたはマッピング オーバーライド クラスを認識させたくありません。
別の解決策があります。GenericNHibernateRepository クラスで this.GetType() を実行し、リポジトリの実装タイプ (例: PersonRepository) を取得できます。ただしUseOverridesFromAssemblyOf()
、型を渡すことはできません。
FluentNHibernate でオーバーライドを構成する別の方法はありますか? UseOverridesFromAssemblyOf<T>
そうでない場合、汎用リポジトリをリポジトリの実装またはマッピングオーバーライドクラスに依存させずに呼び出すにはどうすればよいですか?
(ソース: http://wiki.fluentnhibernate.org/Auto_mapping#Overrides )
fluent-nhibernate - 非 null フィールドの Fluent Nhibernate Automap 規則
automap に列の非 null を指定するにはどうすればよいですか?
しかし、私は以下を取得しています:
fluent-map を使用して実行できることはわかっています。しかし、自動マッピングの方法で知りたいです。
fluent-nhibernate - Fluent NHibernate ModifiedDate バージョン規則
UPDATE中に現在の日付を取得するために値を設定する必要がある、アプリケーションのすべての modifiedDate プロパティに対して流暢な Nhibernate automap 規則を作成しようとしています。私は以下を試していますが、うまくいきません。SQL サーバーが日付を更新するようにします。ご意見をお聞かせください。