問題タブ [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.

0 投票する
0 に答える
461 参照

nhibernate - コレクションからフィールドを合計するNHibernate基準クエリ

テーブルOrderとテーブルLineの間には単純な1対多の関係があります。

各OrderエンティティとLine.Valueフィールドの合計を報告するクエリが必要です。

私はHQLでこれを行うことができます:

ここまでは順調ですね。これを実行すると、オブジェクト配列のリストが表示されます。ここで、[0]は順序、[1]は行の値の合計です。

基準APIで同じことを行うにはどうすればよいですか?

私が得ることができる最も近いものは次のようなものです:

返品したい注文から各プロパティを手動で追加する必要があります。すべてのOrderフィールドでグループ化することを指定するにはどうすればよいですか?

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

nhibernate - DetachedCriteria/ICriteria には、結合の深さに制限がありますか?

とクラスがC1あると想像してください。を持つことができるとします。基準に他のクラスを含めずにエイリアスを直接作成できないという制限はありますか? 例えば:C2C3string dummy = c1.ContainerC2.ContainerC3.Prop1C3

問題があります。次のエラー メッセージを含む SQL クエリが生成されます。

マルチパート識別子「alias_cont1_.HotelName」をバインドできませんでした。

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

nhibernate - NHibernateを使用して2つの合計を持つテーブルをレポートする

私には3つのテーブルがあります。People、Purchases、PeopleとPurchasesの間に1対多の関係があるPayments、およびPeopleandPaymentsです。

購入と支払いの合計を示す人々のレポートを生成したいと思います。

支払いまたは購入の合計を示すすべての人のレポートを簡単に生成できます。

NHibernateの単一のクエリでこれを行うことはできますか?基準API(推奨)またはHQLのいずれかを使用します。

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

nhibernate - 今日の日付がpublishDateとExpiry dateの間にあるnHibernateでのクエリ

今日の時間が >= PublishDateTime と <=ExpiryDateTime であるエントリの結果が返されるように、NHibernate で最適なクエリを実行する方法を見つけようとしています。

有効期限は null になる可能性があるため、それを許可する必要があります。ここここでいくつかの例を見つけましたが、それらは別の方法で機能し、2 つの値を受け入れて 1 つの DB フィールドと比較するようです。私は本当に反対の方法が間違っていることを望んでいます。

これまでのクエリ:

どんな提案でも大歓迎です!

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

nhibernate - 重複を削除するのに役立ちます

私は6か月前に同様の質問をしましたが、まだ回答も提案もされていません。

ここに問題があります。以下のコードは重複レコードを返しています。私が使用している実際に返されるレコードセットはModel.Productです。クエリは、ProductSkusテーブル内のDateAddedフィールドを調べて、Productが表示されるかどうかを確認します。唯一の問題は、1つ以上のProductSkusが特定の製品の要件に一致する場合、重複するレコードを取得することです。私はこれを持つことができません。Model.Productに含まれているデータにアクセスすることだけを気にします。Model.Product.ProductSkusではありません。

誰かが同じような状況に遭遇したことがありますか?私が探している結果を得る方法について何かアイデアはありますか?

前もって感謝します。

結果=query.List();

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

c# - NHibernate/Hibernateでの集約オブジェクトのクエリ

次のような国と州のドメインモデルがあります(以下を参照)。

(Crieteria APIまたはHQLを使用して)特定の国のすべての州を取得したい。パラメータとしてCountryCodeを受け取ります。

NHibernateで理解していることから、国をロードしてから、「Country Object」を使用して2番目のリポジトリに呼び出しを発行し、クリエリアでExpression.Eq()を作成できるようにする必要があります。特定の国のすべての州を取得して、単一のクエリを使用する方法はありますか?単純なSQL内部結合を実行してから、国コードに制約を追加したいだけです。

それは射影と関係があると確信していますが、私が見つけた唯一の例は単一のモデルのものであり、私が意図していることではない集計関数の使用方法を示しています。

ご助力ありがとうございます !

私の現在のリポジトリ呼び出しは次のようになります:

そして私のモデルは次のように定義されています:

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

nhibernate - CreateCriteriaを使用する場合、結果をランダムな順序でどのように並べ替えますか?

アクティブなアイテムの最大数を返す関数があります。

返された結果をランダムな順序でソートできるようにしたいと思います。

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

c# - サブクラスIDのサブクラスごとのNhibernateテーブルは、親テーブルのキー列を使用します

Ayendeの投稿で説明されているように、アプリケーションの継承にはサブクラスごとのテーブル戦略を使用しています

ただし、特にCompanyなどのサブクラスをクエリし、ID(私が知っている)でフィルタリングしている場合、結果のSQLは正しくなく、SQLServerでエラーが発生します。基準:

結果として生成されるSQL:

問題(最後の行-PartyIdがPartiesテーブルで定義されていない)は、子テーブルのキー列が親テーブルで使用されていることです。「Id」はC#のPartyクラスから派生しているので、ちょっと意味があります。しかし、なぜパーティマッピングで定義されたID「Id」の代わりにキー列「PartyId」を使用するのでしょうか。そして、どうすればそれを機能させることができますか?

ありがとう!

編集:尋ねられたように、ここにマッピングがあります(ブログ投稿のものと同じです)

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

nhibernate - NHibernate Criteria サブクエリのヘルプ

私は NHibernate を使用しています。私の要件は、ユーザーとチケットの 2 つのテーブルがあることです。User にあるが Ticket にはないすべてのレコードが必要です。Ticket テーブルには、User テーブルの主キー ID への参照キーとして UserId があります。以下は私のコードです、

上記のクエリは、正しいレコード セットを返しません。

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

nhibernate - NHibernate-どこの条件を定義する

私のアプリケーションでは、ユーザーは検索条件を定義できます。彼は列を選択し、演算子(等しい、のように、より大きい、より小さい、または等しいなど)を設定し、値を指定できます。ユーザーがボタンをクリックすると、アプリケーションは条件を使用してデータベースを検索する必要があります。私はNHibernateを使用していますが、NHibernateでこれを行う最も効率的な方法は何ですか。

(Column = Name、Operator = Like、Value =%John%)のようなクエリを作成する必要があります

または、HQLでこれを行う必要があります:

それとももっと良い解決策がありますか?

ご協力いただきありがとうございます。

よろしく、トーマス