問題タブ [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 投票する
2 に答える
1612 参照

.net - nhibernate 基準プロジェクションにより、非効率的なクエリが発生する

私のコードの非常に単純化されたバージョンである次の例を参照してください。

これは完全に機能しますが、NHibernate 3.1 は結果を取得するために 2 つのクエリを作成します。何かのようなもの:

次に、各行について:

これはあまり効率的ではないので、試しました:

これは何もしません。最初のクエリで NHibernate に強制的に結合させるにはどうすればよいですか?

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

fluent-nhibernate - nhibernate createcriteria を使用してエンティティの ID を取得する方法

初心者アラート データベースにエンティティが存在するかどうかを確認しようとしています。存在する場合は更新し、そうでない場合は新しいエンティティを作成します。しかし、CreateCriteria の使用は常に ID のないエンティティを返しますか? 理由はありますか?手動マッピング、つまりClassMapの使用に流暢なnhibernateを使用しています。

基本クラス - Id パブリック プロパティのみを保持

public 抽象クラス EntityBase : IEquatable { public virtual int Id { get; 設定; }

マッピング;

エンティティを取り戻す;

私が試した 2 つのばかげたステップ (笑ってはいけない) 1. 私が試したばかげたステップは、既存のデータベース エントリに一致する Id =52 を手動で設定することでした。

  1. さらにばかげた手順 (笑い声が聞こえます) は、Map(x=>x.Id).Update().Insert() を含むようにマッピング ファイルを変更し、これにより INSERT_IDENTITY が OFF (または何か) に設定されます。

Id を持つエンティティを取得し、後で更新する最良の方法は何ですか?私の CreateCriteria に何か問題がありますか?

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

nhibernate - NHibernateにマルチレベルの子エンティティを熱心にロードすると重複の問題が発生します

私はいくつかの画像といくつかの機能を含むModelクラスを持っています:

今、私はモデルのModelImagesとFeaturesを熱心にロードしたいのですが、私は以下を使用しています:

しかし、結果には重複したModelImageとModelFeaturesが含まれています。これらの子コレクションに、DistinctRootなどの結果トランスフォーマーを適用するにはどうすればよいですか?

ありがとう

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

nhibernate-criteria - Criterion で AliasToBeanResultTransformer を使用するとエラーが発生する

いくつかのフェッチと一緒にページングを実行しようとしていますが、結果は重複を返します。したがって、AliasToBeanResultTransformer を追加しましたが、次のエラーが発生します。

クラス 'ForumThread' でプロパティ 'this' のセッターが見つかりませんでした

何が欠けている可能性がありますか?

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

c# - NHibernate3と遅延ロードのあるFuture

スケジュールのコレクションを含むエンティティリマインダーがあります(ここのマッピングを参照してください)。コレクションのスケジュールを遅延ロードしたくなかったので、属性をfalseに設定しました。

あるクエリでは、コレクションをロードしたくなかったので、SetFetchModeをLazyに設定しました。

クエリを実行すると、Nhibernateがリマインダーのクエリを実行していて、リマインダーごとに、スケジュールを取得するための単一のクエリを実行していることに気付きました。
これが私が使っていたコードです:

少し苦労した後、Futureを使用してコードを変更し、すべてが正常に機能しました。

FetchMode.Lazyを使用するだけでは機能しないのはなぜですか?なぜFutureを使用する必要があるのですか?スキーマでレイジーモードを設定すると、明らかに、すべてが期待どおりに機能します。

ありがとう。

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

entity-framework - Entity Framework(EF)を使用した動的データクエリ

実装しようとしているシナリオについて、フィードバックをお聞かせください。私は現在、NHibernateのCriteria APIを使用してこのシナリオを実装しましたが、EntityFramework4.1に実装されたものと同様のものがあるかどうか疑問に思いました。

エンドユーザーがUIからフィルタリング基準を選択して、複雑なAND/OR基準を含むクエリを作成できるようにする必要があります。

例:ユーザーは次のように言うことができます:(Zip Code = 92037 AND Gender = F) OR (ZipCode = 92101 and Gender = M)

また

学生が欲しい(State = CA OR State = FL) AND GPA = 4.0 AND GENDER = M

これらのクエリは通常、フロントエンドのツリーコントロールを使用して作成されます。

私は現在、NHibernateを使用してこれを機能させています。NHibernateのCriteriaAPIは、これを行うのに本当に素晴らしいです。ただし、NHibernateには大きなバグがあります。つまり、1:manyテーブルで複数の結合を許可しません。

したがって、たとえば、CATCODE(カテゴリコード)とAnswerを含むテーブルがある場合、NHibernateは現在、CriteriaAPIを使用して複数のクエリを実行することを許可しません。

だから私は例えばすることはできません:WHERE CATCODE = A and Answer in (A,B,C) AND CATCODE = B and Answer in (V,H,Y)

この制限のため、私はNHibernateからEntityFrameworkに移行しようとしています。APIを使用してこの種のことを行うための良い方法があるかどうかはわかりませんでした。

そのような機能を実現するためのより良い解決策があれば、誰か教えてもらえますか?

これを解決する方法がある場合は、NHibernateとEFの両方の専門家からの連絡をお待ちしています。

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

nhibernate - 子コレクションを使用した Nibernate プロジェクション

NHibernate 2.1 を使用して、エンティティとその子コレクションを DTO に投影しようとしています。私のエンティティはこのように見えます..

私のDTOは次のようになります..

アプリケーションだけを選択してプロジェクトする私のコードはこれです(Nhibernate 2.1とnhLambdaExtensionsを使用)

私の質問は、一部のプロパティだけを ApplicationSettings エンティティから ApplicationSettingsDto 子コレクションに投影するにはどうすればよいですか?

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

grails - GORMでの基準構築

ここparams.filtersで、JSONテキストをフォローしています。

このデータはJQueryデータグリッドから取得されます。

これを行うためのより良い方法はありますか?コードでは、3つの演算子のみをリストしましたが、実際には14の操作があります。

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

c# - 条件付き射影クエリのヘルプ

従業員とその役割のリストを表示する必要があるという要件があります。したがって、従業員の役割が会計である場合、その従業員の FirstName と LastName を表示したいと考えています。以下は私のコードです

会社のロール テーブルには、User テーブルの主キー id に対する外部キーとして userid があります。上記の「アカウント」および「マネージャー」の文字列で姓名フィールドを取得するにはどうすればよいですか。上記のコードは機能せず、両方の文字列に冗長な名前の値を入れます。また、LastName フィールドがあり、それを両方の文字列の FirstName に追加したいと考えています。どうすればこれを達成できるのか、誰か説明してもらえますか? また、上記のクエリでは、projections.property を 2 回使用しましたが、これが間違っていることはわかっていますが、探しているもののアイデアを提供したかっただけです。

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

nhibernate - nHibernate参加

NHibernateは初めてです。以下のシナリオの基準を作成することは可能ですか?

最終的には以下のクエリを作成したいと思います

編集:作者のコメントによるクラス。