問題タブ [icriteria]
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.Expression.Orderオブジェクトを文字列に変換する方法は?
NHibernate.Expression.Orderオブジェクトのリストがあり、それらをSQL文字列に変換したいと思います。
つまり、「名前ASC、ID DESC、金額ASC」
c# - nHibernate の逆 LIKE 基準
次の 2 つのエンティティがあります。
public class Entity1 { public IList e2 { get; 設定; } }
public class Entity2 { public string Title { get; 設定; } }
私は Entity1 のリポジトリしか持っていません。次の基準で LIKE クエリを実行できることはわかっています。
criteria.CreateAlias("e2", "e1e2").Add(Restrictions.LIKE("タイトル", "針", Match.Anywhere);
しかし、次のように逆に検索する必要があります。
Restrictions.LIKE("針", "タイトル", Match.Anywhere)
どうすればいいですか?
performance - NHibernate HQL 対 CriteriaAPI 対 QueryOver 対 Linq。パフォーマンス
hql と criteriaApi と QueryOver のパフォーマンスの違いは何ですか? 一方が他方より速い、または遅い状況はありますか?
編集: QueryOver と Linq で質問を拡張しました。
=============================================
さて、どの回答を回答としてマークするべきかわからないので、ほとんどの投稿に VoteUp をマークします。知らない。これは実際には、質問というよりも議論です。
c# - NHibernate Criteria APIを使用して「上位n」を取得するにはどうすればよいですか?
NHibernate Criteria APIを使用して「上位n」を取得するにはどうすればよいですか? 理想的には、独立した基準を使用したいと思います。
.net - ICriteria、収集内容の制限を追加
NHibernate を使用して、B の IList プロパティに A の特定のインスタンスが含まれる B のリストを取得しようとしています。
次のコードは、うまくいけば状況をより明確に説明するはずです。
2 番目のクエリは次のエラーで失敗します。could not resolve property: a_As of: B
上記の最初のクエリのように ID プロパティを明示的に使用せずに、オブジェクト インスタンスを使用してこのクエリを実行するにはどうすればよいですか。
編集:これを拡張するために、エンティティで NHibernate 操作を実行する汎用クラスがあります。次のように始まる「IsReferenced」メソッドを作成しました。
typeProps を使用して MultiCriteria を構築し、指定されたものを参照するエンティティをどこでも見つけます。通常のプロパティでは問題なく機能しますが、コレクションのプロパティは私に悲しみを与えています. 基準に制限を追加する方法がわかりません。
nhibernate - Nhibernate - ページングと熱心な読み込みエンティティ
チームと従業員の 2 つのエンティティがあります。
熱心なチームを持つ従業員のリストを取得したい。リストはページングする必要があります。
なぜこれが機能しないのですか?
SQL の結果:
c# - NHibernate-ICriteriaおよびオプションのICriteria呼び出しを使用したページング
こんなことしたい…
Func<ICriteria,ICriteria>
しかし、これをISession
またはに渡す方法がわかりませんICriteria
。
FetchMode
私は標準のページング拡張メソッドを持っていますが、この拡張メソッドにはオーバーロードがあり、追加のICriteriaメソッドを渡すことができるため、または他の何かを追加で設定できます。
拡張方法:
編集:
過負荷がないと、次のようになります。
拡張方法:
ここの線var copiedCriteria = (ICriteria) criteria.Clone();
はにおいがしますが、これを変更する方法がわかりません。
どのアプローチを提案しますか?
nhibernate - NHibernateがORDERBYでエイリアシングしないようにする
OrderBy句を持つクエリがあります。NHibernateから生成されたSQLは次のようになります
これは、MSSQLServerのOrderby句で「as」が許可されていないため失敗します。エイリアシングを防ぐ方法はありますか?
私が書いた基準クエリは次のようになります。
c# - NHibernate で CONVERT() の場所を選択
こんにちは、そのようなICriteriaインターフェイスを使用してSQLクエリを生成したいです
select * from tableName where (dataColumn like '%2010-06-09%')
Google で調査したところ、これを行う CONVERT() 関数が見つかりました。
SELECT * FROM DATE_SAMPLE
WHERE CONVERT(CHAR(10),SAMPLE_DATE,120) = '2003-04-09'
ICriteriaを使用してNHibernateでこれを行うにはどうすればよいですか?
nhibernate - NHibernate:OR演算子を使用したクエリ
OR演算子をクエリに組み込んで、テーブルの1つのフィールドと、結合されたテーブルの別のフィールドで特定の値を検索する方法を探しています。これはSQLではかなり基本的なことですが、NHibernateでこれを行う方法を世界が理解することはできません。私はWebを検索してきましたが、見つけた例は私にはかなり曖昧であり、特定の実装に適用するのは難しいと思います。
私はPartyというクラスを持っており、メインの参照であるreferenceという文字列フィールドがあります。新しい要件では、パーティーに多くのサイドリファレンスを追加できるオプションも必要でした。そのため、Partyと多対1の関係を持つPartyReferenceという別のクラスを追加する必要がありました。
ここで、指定された参照を使用して、このメイン参照フィールドとサイド参照の両方でその値を調べる必要があります。しかし、このフィールドが値または他のいずれかに対応している必要があることをNHibernateに伝えることができない限り、それを機能させることはできません。
私はこのような回避策を作成しましたが、「OR」と言う方法がなければならないため、エレガントで愚かです。
もちろん、Partyクラスからメインの参照をすべて削除し、他の参照と同等にPartyReferenceとして扱うことで、この問題を解決できることも理解しています。しかし、ある段階で、とにかくNHibernateでORクエリを使用する必要があるので、この特定のケースで今すぐ解決することもできます。
何か案は?