問題タブ [eager-loading]

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 投票する
1 に答える
2946 参照

c# - NHibernate でツリーを熱心にロードする

ツリーをロードしようとすると問題が発生します。これが私の場合です。n レベルのエンティティ (階層型) が関連付けられています。問題は、ICriteria または HQL を使用してツリー全体を積極的にロードできるかどうかです。

助けてくれてありがとう。アリエル

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

entity-framework - WCF Ria Services/Linq2SQLDomainModelで負荷を熱心に処理する方法

ビュー(XAML)にデータバインドされたグリッドがあり、ItemsourceがReportsCollectionを指しています。Reportsエンティティには、3つのプリミティブといくつかの複合型があります。これらの3つは、datagridで期待どおりに表示されます。さらに、ReportsエンティティにはStoreタイプのプロパティがあります。GetReportsドメインメソッドを介してレポートをロードすると、プリミティブのみが返され、ある程度の深さのグラフ全体は返されないことがすぐにわかります。したがって、Storeプロパティもロードしたかったので、ドメインサービスで次の変更を行いました。

すぐに表示されるウィンドウから、ストアは期待どおりにロードされますが、クライアントに返されると、引き続きプルーニングされます。これはどのように修正できますか?

ありがとうございました!

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

.net - この Entity Framework コードの IObjectSet オブジェクトで、Include(..) メソッドが見つからないのは何ですか?

いくつかの子エンティティを熱心にロードしようとしていますが、Include() メソッドを追加しようとすると、コンパイラ エラーが発生します (つまり、見つかりません)。

代替テキスト http://img297.imageshack.us/img297/5638/whatthec.png

ええと...誰かこれについて私を助けてくれませんか?

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

nhibernate - コレクションのロード技術(イーガー/レイジー)を設定する実行時にNHibernateを構成することは可能ですか?

これは可能ですか:)?

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

entity-framework - 継承されたエンティティでの Include() の使用

EF では、関連するエンティティを積極的に読み込むのは簡単です。

しかし、table-per-type モデルを使用してデータをロードするときに、継承されたエンティティを含めることが困難です。

これは私のモデルです:

エンティティ:

  • ArticleBase(基本物品エンティティ)
    • ArticleSpecial(から継承ArticleBase)
  • UserBase(ベース ユーザー エンティティ)
    • UserSpecial(から継承UserBase)
  • Image

関係は画像に示されているとおりです (多くの列を省略しています)。 代替テキスト

実際には、別のアプリケーションで使用されているUserSpecialため、私のユーザーは常にタイプであり、資格情報を共有できます。UserBaseそれが、私が 2 つの別々のテーブルを持っている唯一の理由です。UserBase他のアプリが壊れる可能性があるため、テーブルの形状を変更することはできません。

質問

両方が(関係を定義する) タイプになるように、ArticleSpecial両方CreatedByEditedByセットをロードするにはどうすればよいでしょうか?UserSpecialImage


私は(失敗しましたが)これらのオプションを試しました:

1. ラムダ式の使用:

この場合の問題は、 と の両方CreatedByEditedByに関連していて、ナビゲーションUserBaseを定義していないことです。したがって、これら2つを次のようImageにキャストする必要があります。UserSpecial

もちろん、ジェネリックを使用しても機能しInclude("UserCreated<UserSpecial>.Image")ません。

2. LINQ クエリを使用してみました

この場合ArticleSpecial、関連するプロパティが設定されていないオブジェクト インスタンスのみを取得しています。どういうわけかそれらを選択する必要があることは知っていますが、方法がわかりませんか?

私のLINQの選択部分は、次のように変更できます

しかし、画像はまだ私のコンテキストにロードされていません。この場合の私のジョインは、articleSpecial の結果を除外するためにほとんど使用されていませんが、エンティティをコンテキストにロードしません (私はそう思います)。

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

java - HIbernate FetchMode Join

私は子のリストを持つ親クラスを持っています。名前など、ID 以外の何かで親をロードしたいと思います...私は、親のすべてのデータを一意の名前で熱心にロードするために使用criteria.setFetchMode("children",FetchMode.JOIN); しています。criteria.add(Restrictions.eq("name", name))問題は、何千もの結果がすべて同じ名前で返されることです...どうすればこれを回避できますか。

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

ruby-on-rails - Ruby on Rails:条件のあるアソシエーションを熱心にロードしたら、データベースに再度アクセスすることなく、どのようにしてそれを取得できますか?

次のような単純なケースを想像してみてください。

私のコントローラーで次のようなことをしたとしましょう。

ここで、チャプターを表示したいとします。データベースに再度アクセスせずに、Railsのチャプターに対処するにはどうすればよいですか?私がこのようなことをした場合:

Railsは、すべてのチャプターのデータベースを再ヒットして、それらをスキャンできるようにします。さらに悪いことに、コントローラーコードですべてのチャプターを再度スキャンする必要がありますか?

そして、次のようなfindを使用するもののようです。

チャプターがすでにキャッシュされている場合でも、データベースが再度ヒットします。

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

ruby-on-rails - Ruby on Rails: サブモデルとのポリモーフィックな関連付けに :include

ポリモーフィック アソシエーションを使用する場合、一部の型にのみ存在するサブモデルに対してインクルードを実行できますか?

例:

ビューでは、次のようなことをしたいと思います:

したがって、c をロードするときに有効期限を熱心にロードしたいと思います。そうする方法はありますか?囲まれたすべてのタイプにサブモデルの有効期限があるわけではないため、通常の :include を定義するだけでエラーが発生します。

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

eager-loading - globalize2翻訳の積極的な読み込み

私は2つのモデルを持っています-IssueとAnswers(問題には多くの答えがあります)そして両方ともglobalize2で翻訳されています。問題をロードしようとするたびに、

各回答の翻訳が読み込まれます(回答ごとに1つのSQLクエリ)。

どうすれば最適化できますか?

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

linq - LINQ to SQLを使用して兄弟データを熱心にロードするにはどうすればよいですか?

目標は、匿名型を使用せずにLINQtoSQLを使用してSQLServerに発行するクエリを最小限にすることです。メソッドの戻りタイプはILi​​st<Child1>である必要があります。関係は次のとおりです。

親>子1は1対多の関係です

Child1> Grandchild1は1対nの関係です(nはゼロから無限大です)

親>子2は1対nの関係です(nはゼロから無限大です)

親、子1、および孫1のデータを熱心にロードして、SQLServerへのクエリを1つ実行できます。

ロードオプションを使用したこのクエリは、兄弟データ(Child2)を除くすべてのデータを熱心にロードします。

兄弟データもロードする必要があります。私が試したアプローチの1つは、クエリを2つのLINQ to SQLクエリに分割し、結果セットをマージすることです(きれいではありません)が、兄弟データにアクセスすると、とにかく遅延ロードされます。

兄弟ロードオプションを追加すると、Grandchild1およびChild2レコードごとにSQL Serverにクエリが発行されます(これはまさに私が避けようとしていることです)。

また、データを積極的にロードすることを期待して、すべてのデータを結合するLINQ to SQLクエリを記述しましたが、Child2またはGrandchild1のLINQ to SQL EntitySetにアクセスすると、データが遅延ロードされます。

IList <Child1>を返す理由は、ビジネスオブジェクトをハイドレイトするためです。

私の考えは私がどちらかであるということです:

  1. この問題に間違った方法でアプローチします。
  2. ストアドプロシージャを呼び出すオプションはありますか?
  3. 私の組織はLINQtoSQLをORMとして使用すべきではありませんか?

どんな助けでも大歓迎です。

ありがとうございました、

-スコット