問題タブ [queryover]
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 - LinqまたはQueryOverを使用して子エンティティを親プロパティに射影するNHibernate
単純かもしれませんが、私はそれに固執しており、それをどのように行うことができるかについての答えが見つかりませんでした. 子エンティティ Operations のコレクションを持つ親エンティティ User があります。これら 2 つのエンティティは UI 用であるため、一種のビューです。ここに疑似コードがあります
私がやりたいのは、TotalSuccesfulAccesses と TotalFailedAccesses を持つユーザーを、データベースへの 1 回の往復で子コレクションから初期化することです。
各ユーザーについてSum(Operation.NbSuccessfulAccesses)とSum(Operation.NbFailedAccesse ) を計算し、それぞれUser.TotalSuccesfulAccessesとUser.TotalFailedAccessesに射影する必要があります。
多基準といくつかのクエリを試してみましたが、満足できません。投影などで簡単な方法があるかどうか知りたいです。または多分私は何かを逃した。
あなたは何をお勧めします ?
よろしくお願いします。
nhibernate - 最初の非null値によるNHibernate QueryOverの順序(合体)
私が考え出そうとしているのは、次のように表現されるものです。
案の定、これはうまくいきません。T-SQL でのこれとほぼ同等のものは次のとおりです。
NHibernate QueryOver で「合体」を行うコーシャの方法は何ですか?
c# - nhibernate の queryover で結合する
成功せずに、NHibernate で QueryOver を使用してクエリを作成しようとしています。取得する必要がある結果の SQL は次のとおりです。
私のクラス:
多分私は明らかな何かを見逃しています
nhibernate - 複数のコレクション プロパティを (QueryOver/Linq を使用して) 積極的にフェッチしますか?
私は2つの同様の質問を見つけました:
このページによると:
同時に複数のコレクション プロパティを積極的にフェッチしないように注意してください。このステートメントは正常に機能しますが、次のようになります。
データベースに対してデカルト積クエリを実行するため、返される行の合計数は、下位の合計に注文の合計を掛けたものになります。
次のモデルがあるとしましょう:
QueryOver/Linq を使用して (デカルト積を返すことなく)、書籍、記事、住所をすべての人に熱心にロードする最も簡単な方法は何ですか?
ありがとう
アップデート:
以下のcremorの回答と、このスレッドのFlorian Limの回答を参照してください。次のコードはうまく機能します。データベースへのラウンドトリップは 1 回だけです。
nhibernate - nHibernate3QueryOverとcompoundfrom句
Linqからオブジェクトへの複合句(Linqからオブジェクトへの変換が可能)をnHibernate 3QueryOver構文で合成する方法を知っている人はいますか?Linq To nHibernateでそれが可能であることは知っていますが、クエリオーバーAPIに頭を悩ませようとしています。
これは、Linqのmsdnからオブジェクトに取った例です。
MSDNから取得
c# - nhibernateに多対多の関係に参加させる
私は次のような状況で立ち往生しています。私にはContactAssociationというエンティティがあり、(とりわけ)ClientプロパティとContactプロパティがあります。いくつかの条件を満たすクライアントのすべての連絡先を取得する必要があります。条件は次のとおりです。各クライアントにはBusinessEntityのコレクションであるプロパティBusinessEntitiesがあり、各BusinessEntityにはBusinessLevelがあります。これはコードです、私はこれをより理解しやすくするだろうと確信しています:
さて、私はこのようなことを書きました、そして私はプロパティBuLevel.LevelNoが見つからないというエラーを受け取り続けますしかしそれはモデルにあります
基準を試しましたが、同じエラーが表示されたのは、Visual StudioではなくNHProfilerでのみであり、VisualStudioではさらに不可解なエラーが発生しました。とにかく...私は最終的にSQLクエリの問題を解決しましたが、適切な結果を得るには、QueryOverやCriteriaをどのように記述すればよいですか?
前もって感謝します
PS
これが私のSQLクエリです:
c# - 多対多での NHibernate QueryOver WhereExists
クエリしようとしている多対多の関係があります。私の問題は、ここでPhillip Haydon によって詳述されている問題と非常に似ているため、彼の図と説明を惜しみなく借りることにします。
Phillip は、Jobs と Roles の間に次の多対多の関係を持っていました (申し訳ありませんが、まだ画像を埋め込むことはできません):
データ スキーマ
Phillip は、ジョブに割り当てられていないすべての役割を照会する必要がありました。彼の解決策は次のとおりです。
これは非常に役に立ちましたが、このソリューションにはテーブルごとにエンティティがあるようです。ジョブ、ジョブロール、およびロール。JobRole には Job と Role の両方があります。おそらく次のようなものです:
これは、多対多の関係をモデル化するために私が見たパターンと矛盾します。具体的には、シャープなアーキテクチャの例とここでのアドバイスからです。これらの例と私の場合では、Job と Role の 2 つのクラスしかありません。このようなもの:
私の場合、役割のみを持つすべてのジョブを見つける必要があります。私はこのようなことを試しました
しかし、NHibernate は WhereExists で選択するためのプロジェクションを必要とし、提供されていない場合は不平を言います。これは私には理にかなっています。
私のモデルでは、WhereExists で QueryOver サブクエリを実行することさえ可能ですか?
前もって感謝します。
nhibernate - nhibernatequeryoverで「選択」する方法
クエリオーバーを使用してオブジェクトを返したい
1を試す
結果:コースオブジェクトのすべてがnullの188レコード。
2を試す
結果:すべてのプロパティでほぼ同じエラーが発生する188コース
3を試す
結果:
4を試す
4を試す
動作します。コースオブジェクトのすべてにアクセスできます。
問題があるようです
tAlias.PersonalTaskRemindersおよびtAlias.TaskReminders。これらを削除すると、コースは正常にレンダリングされます。
理由がわかりません。
nhibernate - NHibernateQueryOverdistinct
私はこのシナリオを持っています:
List Distinct Userを返したいので、できません
TransformUsing(Transformers.DistinctRootEntity)
これは私にUserRelationshipを与えるからです。
私はこのようなものが必要です:
助けてください
nhibernate - NHibernate QueryOver で SQL 関数を使用できますか?
私はインターネットを検索してきましたが、nhibernate 3.0 の queryover の使用方法の例を見つけることができません。たとえば、queryover ex の where 句で文字列関数を使用したいと思います。
しかし、nhibernate は ToLower を理解できないため、これはうまくいきません。