問題タブ [nhibernate-projections]
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 Criteria クエリの groupby プロパティに関するヘルプ
以下のクエリがあります。
上記のクエリは、次のようなデータを提供します。
データを次のように与えるようにクエリを変更する方法はありますか?
ここで、Manager と QA は Designation フィールドに入れることができる唯一の可能な値です..
c# - プロジェクション クエリの group by 句に関するヘルプ
空港に到着した人の記録を 1 日 1 時間ごとにグループ化したいと考えています。したがって、基本的には、特定の空港に毎時到着する人の数が必要です。以下は私のコードです。
さて、上記のクエリは、以下の方法でレコードを取得します。
クエリでレコードを次のように表示したいのですが、
日付と空港が繰り返されないように。1 時間ごとに、つまり、午前 1 時から 2 時、午前 2 時から 3 時などの間に入ってくる人の数を数えたいと思います。
collections - NHibernate Criteria を使用してエンティティとその子コレクションをクラスに射影できますか?
NH Criteria を使用してエンティティを取得し、選択フィールドをカスタム クラスに投影しています (MVC ビューに表示するためにデータを ViewModel に投影するのと少し似ています)。
これは、ProjectionList を使用して簡単に行うことができます。
ただし、私のエンティティにはコレクションが含まれており、それも元に戻し、コレクションとしてカスタム クラスに投影したいと考えています。
私のドメイン モデルは (簡略化された形式で) 次のようになります。
投影したい「データモデル」クラスは次のとおりです。
これらのモデルが非常によく似ていることがわかったので、「何がポイントなの?」と考えても仕方ありませんが、それは単純化したからです。ドメイン オブジェクトを便利なデータ モデルにフラット化できると便利です。
私の大きな問題は、子オブジェクト (この場合は UploadedFile.Filename と UploadedFileData.Data) の深いところから必要なフィールドにアクセスし、それらを EmailAttachmentDataModel コレクションとして EmailDataModel に投影する方法を見つけることです。
EmailCriteria.CreateAlias または EmailCriteria.CreateQuery のいずれかを使用して、子コレクションへのアクセスについて説明しているオンラインの記事をたくさん読みましたが、子コレクションをコレクションとして投影する方法を説明するものは見つかりませんでした。
これが、NH Criteria クエリをいじることに興味のある人にとって、役に立つ演習になることを願っています。
nhibernate - nhibernate queryover でこれを行う方法
nhibernate QueryOver でこれを行う必要があります。
これまでのところ、私はこれを行ってきました:
しかし、これはすべてを選択し( Select )、 Command オブジェクトのみが必要です( select sc.)。次のようにクエリにプロジェクションを追加しようとすると:
次の例外がスローされます。
x Source=NHibernate
StackTrace: at NHibernate.Impl.ExpressionProcessor.FindMemberExpression(Expression expression) in d:\CSharp\NH\nhibernate\src\NHibernate\Impl\ExpressionProcessor.cs:line 189 at NHibernate.Criterion.QueryOver2.Select(Expression
1[] プロジェクション) in d:\CSharp\NH\nhibernate\src\NHibernate\Criterion\QueryOver.cs:C:\Projects\EGrad の Novatec.Persistence.Repositories.Implementations.UserRepository.GetAllowedUserCommands(Int32 userId) の 363 行目\Main\Source\Novatec.E-Grad\Source\Novatec.Persistence\Repositories\Implementations\UserRepository.cs:C:\ の Novatec.Administracija.Services.Security.SecurityManager.AuthorizeUserAction(Int32 userId, String commandId) の 140 行目Projects\EGrad\Main\Source\Novatec.E-Grad\Source\Novatec.Administracija.Services\Security\SecurityManager.cs:Novatec.Framework.Infrastructure.Services.ServiceBase.ExecuteCommand(Int32 userId, String appId, ICommand の 48 行目)コマンド) C:\Projects\EGrad\Main\Source\Novatec.E-Grad\Source\Novatec.Framework.Infrastructure\Services\ServiceBase.cs:94 行目 InnerException:
nhibernate - LinqまたはQueryOverを使用して子エンティティを親プロパティに射影するNHibernate
単純かもしれませんが、私はそれに固執しており、それをどのように行うことができるかについての答えが見つかりませんでした. 子エンティティ Operations のコレクションを持つ親エンティティ User があります。これら 2 つのエンティティは UI 用であるため、一種のビューです。ここに疑似コードがあります
私がやりたいのは、TotalSuccesfulAccesses と TotalFailedAccesses を持つユーザーを、データベースへの 1 回の往復で子コレクションから初期化することです。
各ユーザーについてSum(Operation.NbSuccessfulAccesses)とSum(Operation.NbFailedAccesse ) を計算し、それぞれUser.TotalSuccesfulAccessesとUser.TotalFailedAccessesに射影する必要があります。
多基準といくつかのクエリを試してみましたが、満足できません。投影などで簡単な方法があるかどうか知りたいです。または多分私は何かを逃した。
あなたは何をお勧めします ?
よろしくお願いします。
c# - NHibernate プロジェクションを使用してフィールドを連結する
この質問に対する受け入れられた回答を使用して、ICriteria と予測を使用して 2 つのフィールドを連結することができました。私はで終わった
これは予想されるクエリをサーバーに送信しており、機能しています。
私の質問は、SqlFunction を使用して ICriteria と射影を使用して連結を行う以外に他の方法があるかどうかです。
c# - 誰かがnHibernateの「プロジェクション」が何であるかをよりよく説明できますか?
nHibernateとそのユーティリティライブラリであるfluentnhibernateの新しいユーザーとして、私は優れたデータベースで危険を冒すのに十分なことを学ぼうとしています。
プロジェクションの概念を理解するのは非常に困難です。具体的には、彼らは世界で何ですか?
私は文字通り「予測とは何ですか? 」について正確な検索を行いました。'および' nHibernateのプロジェクト'および' nHibernate、Projections、Definition 'など。そして私はまだ非常に混乱しています。これまでで最も役立つ投稿は、この他のStackOverflowの質問とColinRamsayによるこのブログ投稿です。しかし、私はまだ非常に混乱しています。私のデータベースに関する知識は、せいぜいエントリーレベルのままです。
予測とは何か、なぜそれらを使用したいのか、何を達成しているのかなどはよくわかりません。ブログ投稿で、彼が整数のリストを取得するためにそれらを使用していることがわかります(主キーと思われます)。それらを別のクエリで使用できますが、これは機能の仕方とその理由があいまいです。
nhibernate - 子コレクションを使用した Nibernate プロジェクション
NHibernate 2.1 を使用して、エンティティとその子コレクションを DTO に投影しようとしています。私のエンティティはこのように見えます..
私のDTOは次のようになります..
アプリケーションだけを選択してプロジェクトする私のコードはこれです(Nhibernate 2.1とnhLambdaExtensionsを使用)
私の質問は、一部のプロパティだけを ApplicationSettings エンティティから ApplicationSettingsDto 子コレクションに投影するにはどうすればよいですか?
c# - 予測クエリを使用した今週のデータの合計
今週のデータベースのフィールドの合計を実行したいと思います。たとえば、今日が水曜日の場合、現在の月曜日から水曜日までの合計を実行したいのですが、木曜日の場合は月曜日から木曜日までです。NHibernateでプロジェクションクエリを使用してこれを行うにはどうすればよいですか?以下のコードでは、データをグループ化して、今週の合計のみを表示するようにします。データベース内の日付のフィールドの名前はMyDateで、タイプはdatetimeです。
nhibernate - average(datediff) 型の射影は常に 0.0 を返します
これは非常に不可解です。生成された SQL はまったく問題なく、手動で実行すると正しい結果が得られます。
ただし、変換プロセスのどこかで、「AverageTime」フィールドが正しい結果ではなく 0.0 に設定されます。
私の質問:
生成されたクエリは正しいです:
ps明らかに従業員の平均時間を測定するのは、例のためだけです。私の本当のクエリは、他のエンティティです..