問題タブ [linq-to-nhibernate]
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 to nhibernate - where句に問題がある
次のクエリで linq-to-nhibernate を使用しています。
このクエリでは、店舗コードに属するすべての storeZoneStyles のみを取得したいと考えています。これを実行すると、次の実行時例外が発生します。
タイプ 'System.Linq.Expressions.ConstantExpression' のオブジェクトをタイプ 'System.Linq.Expressions.LambdaExpression' にキャストできません。
誰か助けてくれませんか?
linq - LinqからNHibernateへのOrderByが機能しない
子の合計でLinqからNHibernateへのクエリを注文しようとしています。
これは機能していないようです。NHProfを見ると、Parent.Idで並べ替えられていることがわかります。結果を返し、SQLの外部で並べ替えているのではないかと思いましたが、Linqクエリに.Skip(1).Take(1)を追加しても、Parent.Idで並べ替えられます。
メモリ内のリストを使用してこれを実行してみましたが、問題なく動作します。
私は何か間違ったことをしていますか、それともこれはLinq to NHibernateの問題ですか?
いつでもリストを返してから操作を実行できると確信していますが、すべてのレコードを返したくないので、これは理想的な回避策ではありません。
linq - NHibernate.Linq LIKE
NHibernate.Linq を使用してこのクエリを作成するにはどうすればよいですか?
これは Linq To Sql または Entity Framework ではないことに注意してください。これがNHibernateです。
編集:
ICriteria を使用した目的のクエリは次のとおりです。
nhibernate - NHibernate Linqが結果を複製するのはなぜですか?
予想よりも多くの結果を返す単純なNhibernateLinqクエリがあります。
Fooは次のようになります。
私の問題は、「associatedBars」コレクション内のすべてのバーに対して重複したFooを取得することです。したがって、Fooのインスタンスのコレクションに20個のバーがある場合、それぞれ20個のバーを持つ20個のFooインスタンスを取得します。
Fooのマッピング:(FluentNhibernate)
この同等のHqlクエリを実行しても、問題は発生しません。
また、Fooのマッピングを変更して、AssociatedBarsの遅延読み込みを使用しても、問題は発生しません。
何か案は?また、Nh Linqの最高のフォーラムはどこですか?見つからなかったのでここに投稿しました!
.net - LinqからNHibernateへ:明確
Linq-to-NHibernateを使用して次のSQL出力を取得しようとしています。
NameプロパティとYearプロパティは新しいクラスにラップされるため、C#コードは次のようになります。
DISTINCTキーワードをSQLクエリに表示するにはどうすればよいですか?
linq - NHibernateおよびLINQ-InvalidOperationException:「...という名前のエンティティが見つかりませんでした」
次のテストを見てください。
Action
最初のものが実行されるので、マッピングは正しいと思います(クラスでNHibernate.Attributesを使用)。テスト2は、次の例外を除いて失敗します。
System.InvalidOperationException:BOM.Domain.Actionという名前のエンティティが見つかりませんでした。
where条件でエンティティを使用するすべてのlinq式は、この例外を除いて失敗することがわかりました。場所を削除すると通過しますが、もちろんこれは私が達成したいことではありません。私は何が欠けていますか?なぜこの例外があるのですか?
アップデート:
次のように別のプロジェクトを作成しました。
ドメインオブジェクト:
マッピングドキュメント:
単体テストの初期化により、SQLCEデータベースファイルが作成されます。これは問題ないようです。テストは非常によく似ており、以前と同じ動作をします。ドメインオブジェクトに関連する条件を追加するまで、ICriteriaを使用したフェッチは正常に機能し、Linqを使用したフェッチは正常に機能します。以前と同じInvalidOperationException、ここではスタックトレース:
テストメソッドTests.ReadTests.CanReadWithLinqが例外をスローしました:System.InvalidOperationException:Domain.TestEntityという名前のエンティティが見つかりませんでした。NHibernate.Linq.Util.CriteriaUtil.GetRootType(CriteriaImpl基準)at NHibernate.Linq.Util.CriteriaUtil.GetRootType(ICriteria基準)at NHibernate.Linq.Visitors.MemberNameVisitor.IsRootEntity(EntityExpression expr)at NHibernate.Linq.Visitors .VisitEntity(EntityExpression expr)at NHibernate.Linq.Visitors.NHibernateExpressionVisitor.Visit(Expression exp)at NHibernate.Linq.Visitors.NHibernateExpressionVisitor.VisitPropertyAccess(PropertyAccessExpression expr)at NHibernate.Linq.Visitors.MemberName .Linq.Visitors.NHibernateExpressionVisitor。
1.GetEnumerator() at System.Linq.Enumerable.FirstOrDefault<TSource>(IEnumerable
1つのソース)ReadTests.csのTests.ReadTests.CanReadWithLinq():52行目。
linq - Linq to Nhibernate クエリの Where(...) 句での関数呼び出しはパフォーマンスに悪影響を及ぼしますか?
linq を使用して nhibernate を実行し、作成中のアプリケーションで IQueryable.Where 関数を使用しています。そして、私を困惑させているExpression
のは、作成して INhibernateQueryable の Where 関数に渡す s がパフォーマンスにどのように影響するかということです。
パフォーマンスの観点から、これらのクエリ式を記述する際に避けるべき落とし穴が何であるかはよくわかりません。次のような関数呼び出しで式を渡すと:
すべてのレコードを取得し、延期された実行が延期されなくなったらすぐにそれらwhere IsBuyOrder = true
の関数を呼び出すつもりですか?CheckVariousProperties
関数呼び出しは LinqToNhibernate のパフォーマンスにどのように影響しますか?
LINQ to Nhibernate クエリ式で避けるべきことは何ですか?
.net - Linq を NHibernate に実装すると、「Linq は NHibernate.ISession のメンバーではありません」というエラーが表示される
Linq To NHibernate を機能させるのに苦労しています。NHibernate、NHibernate.Linq、および NHibernate.ByteCode.Castle を参照しました。また、同じフォルダーに他のすべての依存関係があります。
コード/エラー メッセージ:
「Linq は NHibernate.ISession のメンバーではありません」
... LINQ 拡張機能が読み込まれていないことがわかります。NHibernate.Linq の使用は、非常に使いやすいように作成されているように思われるため、セットアップ方法に関するチュートリアルはありません。(または、少なくとも私は何も見つかりませんでした)。
私が何を見逃しているのか、何か分かりますか?
更新: データ アクセス層の参照
前もって感謝します
linq - ORステートメントに関するLinq.NHibernateの問題
注:すべてのコードは頭のてっぺんに書かれています。多少の誤差が含まれる場合があります。この質問の全体的なポイントを取得するだけです)
このクラス定義を取る: (簡単にするために削減)
それらのオブジェクトを取る:
cvList には、フィルタリングする CodedValue のリストが含まれています。
私のデータベースにこれらのレコードが含まれているとしましょう:
今、コード化された値がリストにあるすべてのオブジェクトを取得したい
Hibernate は、この Linq を次のように変換します。
これは間違っています。私のレコードの例を見ると、この SQL はすべての行を返します。SQL は次のように変換する必要があります。
では、Linq を使用して必要な結果を得ることができますか? もしそうなら、どのように?そうでない場合、どうすればそれを達成できますか?
ありがとう
.net - Linq to NHibernate でクエリステートメントを確認するにはどうすればよいですか?
linq to nhibernate クエリを実行して SQL クエリをログに記録またはチェックしたら、SQL クエリを確認したいと思います。どのようにできるのか?