問題タブ [nhibernate-criteria]
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 - コレクションからフィールドを合計するNHibernate基準クエリ
テーブルOrderとテーブルLineの間には単純な1対多の関係があります。
各OrderエンティティとLine.Valueフィールドの合計を報告するクエリが必要です。
私はHQLでこれを行うことができます:
ここまでは順調ですね。これを実行すると、オブジェクト配列のリストが表示されます。ここで、[0]は順序、[1]は行の値の合計です。
基準APIで同じことを行うにはどうすればよいですか?
私が得ることができる最も近いものは次のようなものです:
返品したい注文から各プロパティを手動で追加する必要があります。すべてのOrderフィールドでグループ化することを指定するにはどうすればよいですか?
nhibernate - DetachedCriteria/ICriteria には、結合の深さに制限がありますか?
とクラスがC1
あると想像してください。を持つことができるとします。基準に他のクラスを含めずにエイリアスを直接作成できないという制限はありますか? 例えば:C2
C3
string dummy = c1.ContainerC2.ContainerC3.Prop1
C3
問題があります。次のエラー メッセージを含む SQL クエリが生成されます。
マルチパート識別子「alias_cont1_.HotelName」をバインドできませんでした。
nhibernate - NHibernateを使用して2つの合計を持つテーブルをレポートする
私には3つのテーブルがあります。People、Purchases、PeopleとPurchasesの間に1対多の関係があるPayments、およびPeopleandPaymentsです。
購入と支払いの合計を示す人々のレポートを生成したいと思います。
支払いまたは購入の合計を示すすべての人のレポートを簡単に生成できます。
NHibernateの単一のクエリでこれを行うことはできますか?基準API(推奨)またはHQLのいずれかを使用します。
nhibernate - 重複を削除するのに役立ちます
私は6か月前に同様の質問をしましたが、まだ回答も提案もされていません。
ここに問題があります。以下のコードは重複レコードを返しています。私が使用している実際に返されるレコードセットはModel.Productです。クエリは、ProductSkusテーブル内のDateAddedフィールドを調べて、Productが表示されるかどうかを確認します。唯一の問題は、1つ以上のProductSkusが特定の製品の要件に一致する場合、重複するレコードを取得することです。私はこれを持つことができません。Model.Productに含まれているデータにアクセスすることだけを気にします。Model.Product.ProductSkusではありません。
誰かが同じような状況に遭遇したことがありますか?私が探している結果を得る方法について何かアイデアはありますか?
前もって感謝します。
結果=query.List();
c# - NHibernate/Hibernateでの集約オブジェクトのクエリ
次のような国と州のドメインモデルがあります(以下を参照)。
(Crieteria APIまたはHQLを使用して)特定の国のすべての州を取得したい。パラメータとしてCountryCodeを受け取ります。
NHibernateで理解していることから、国をロードしてから、「Country Object」を使用して2番目のリポジトリに呼び出しを発行し、クリエリアでExpression.Eq()を作成できるようにする必要があります。特定の国のすべての州を取得して、単一のクエリを使用する方法はありますか?単純なSQL内部結合を実行してから、国コードに制約を追加したいだけです。
それは射影と関係があると確信していますが、私が見つけた唯一の例は単一のモデルのものであり、私が意図していることではない集計関数の使用方法を示しています。
ご助力ありがとうございます !
私の現在のリポジトリ呼び出しは次のようになります:
そして私のモデルは次のように定義されています:
nhibernate - CreateCriteriaを使用する場合、結果をランダムな順序でどのように並べ替えますか?
アクティブなアイテムの最大数を返す関数があります。
返された結果をランダムな順序でソートできるようにしたいと思います。
c# - サブクラスIDのサブクラスごとのNhibernateテーブルは、親テーブルのキー列を使用します
Ayendeの投稿で説明されているように、アプリケーションの継承にはサブクラスごとのテーブル戦略を使用しています。
ただし、特にCompanyなどのサブクラスをクエリし、ID(私が知っている)でフィルタリングしている場合、結果のSQLは正しくなく、SQLServerでエラーが発生します。基準:
結果として生成されるSQL:
問題(最後の行-PartyIdがPartiesテーブルで定義されていない)は、子テーブルのキー列が親テーブルで使用されていることです。「Id」はC#のPartyクラスから派生しているので、ちょっと意味があります。しかし、なぜパーティマッピングで定義されたID「Id」の代わりにキー列「PartyId」を使用するのでしょうか。そして、どうすればそれを機能させることができますか?
ありがとう!
編集:尋ねられたように、ここにマッピングがあります(ブログ投稿のものと同じです)
nhibernate - NHibernate Criteria サブクエリのヘルプ
私は NHibernate を使用しています。私の要件は、ユーザーとチケットの 2 つのテーブルがあることです。User にあるが Ticket にはないすべてのレコードが必要です。Ticket テーブルには、User テーブルの主キー ID への参照キーとして UserId があります。以下は私のコードです、
上記のクエリは、正しいレコード セットを返しません。
nhibernate - NHibernate-どこの条件を定義する
私のアプリケーションでは、ユーザーは検索条件を定義できます。彼は列を選択し、演算子(等しい、のように、より大きい、より小さい、または等しいなど)を設定し、値を指定できます。ユーザーがボタンをクリックすると、アプリケーションは条件を使用してデータベースを検索する必要があります。私はNHibernateを使用していますが、NHibernateでこれを行う最も効率的な方法は何ですか。
(Column = Name、Operator = Like、Value =%John%)のようなクエリを作成する必要があります
または、HQLでこれを行う必要があります:
それとももっと良い解決策がありますか?
ご協力いただきありがとうございます。
よろしく、トーマス