問題タブ [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.
c# - NHibernate でツリーを熱心にロードする
ツリーをロードしようとすると問題が発生します。これが私の場合です。n レベルのエンティティ (階層型) が関連付けられています。問題は、ICriteria または HQL を使用してツリー全体を積極的にロードできるかどうかです。
助けてくれてありがとう。アリエル
entity-framework - WCF Ria Services/Linq2SQLDomainModelで負荷を熱心に処理する方法
ビュー(XAML)にデータバインドされたグリッドがあり、ItemsourceがReportsCollectionを指しています。Reportsエンティティには、3つのプリミティブといくつかの複合型があります。これらの3つは、datagridで期待どおりに表示されます。さらに、ReportsエンティティにはStoreタイプのプロパティがあります。GetReportsドメインメソッドを介してレポートをロードすると、プリミティブのみが返され、ある程度の深さのグラフ全体は返されないことがすぐにわかります。したがって、Storeプロパティもロードしたかったので、ドメインサービスで次の変更を行いました。
すぐに表示されるウィンドウから、ストアは期待どおりにロードされますが、クライアントに返されると、引き続きプルーニングされます。これはどのように修正できますか?
ありがとうございました!
.net - この Entity Framework コードの IObjectSet オブジェクトで、Include(..) メソッドが見つからないのは何ですか?
いくつかの子エンティティを熱心にロードしようとしていますが、Include() メソッドを追加しようとすると、コンパイラ エラーが発生します (つまり、見つかりません)。
代替テキスト http://img297.imageshack.us/img297/5638/whatthec.png
ええと...誰かこれについて私を助けてくれませんか?
entity-framework - 継承されたエンティティでの Include() の使用
EF では、関連するエンティティを積極的に読み込むのは簡単です。
しかし、table-per-type モデルを使用してデータをロードするときに、継承されたエンティティを含めることが困難です。
これは私のモデルです:
エンティティ:
ArticleBase
(基本物品エンティティ)ArticleSpecial
(から継承ArticleBase
)
UserBase
(ベース ユーザー エンティティ)UserSpecial
(から継承UserBase
)
Image
関係は画像に示されているとおりです (多くの列を省略しています)。
実際には、別のアプリケーションで使用されているUserSpecial
ため、私のユーザーは常にタイプであり、資格情報を共有できます。UserBase
それが、私が 2 つの別々のテーブルを持っている唯一の理由です。UserBase
他のアプリが壊れる可能性があるため、テーブルの形状を変更することはできません。
質問
両方が(関係を定義する) タイプになるように、ArticleSpecial
両方CreatedBy
とEditedBy
セットをロードするにはどうすればよいでしょうか?UserSpecial
Image
私は(失敗しましたが)これらのオプションを試しました:
1. ラムダ式の使用:
この場合の問題は、 と の両方CreatedBy
がEditedBy
に関連していて、ナビゲーションUserBase
を定義していないことです。したがって、これら2つを次のようImage
にキャストする必要があります。UserSpecial
もちろん、ジェネリックを使用しても機能しInclude("UserCreated<UserSpecial>.Image")
ません。
2. LINQ クエリを使用してみました
この場合ArticleSpecial
、関連するプロパティが設定されていないオブジェクト インスタンスのみを取得しています。どういうわけかそれらを選択する必要があることは知っていますが、方法がわかりませんか?
私のLINQの選択部分は、次のように変更できます
しかし、画像はまだ私のコンテキストにロードされていません。この場合の私のジョインは、articleSpecial の結果を除外するためにほとんど使用されていませんが、エンティティをコンテキストにロードしません (私はそう思います)。
java - HIbernate FetchMode Join
私は子のリストを持つ親クラスを持っています。名前など、ID 以外の何かで親をロードしたいと思います...私は、親のすべてのデータを一意の名前で熱心にロードするために使用criteria.setFetchMode("children",FetchMode.JOIN);
しています。criteria.add(Restrictions.eq("name", name))
問題は、何千もの結果がすべて同じ名前で返されることです...どうすればこれを回避できますか。
ruby-on-rails - Ruby on Rails:条件のあるアソシエーションを熱心にロードしたら、データベースに再度アクセスすることなく、どのようにしてそれを取得できますか?
次のような単純なケースを想像してみてください。
私のコントローラーで次のようなことをしたとしましょう。
ここで、チャプターを表示したいとします。データベースに再度アクセスせずに、Railsのチャプターに対処するにはどうすればよいですか?私がこのようなことをした場合:
Railsは、すべてのチャプターのデータベースを再ヒットして、それらをスキャンできるようにします。さらに悪いことに、コントローラーコードですべてのチャプターを再度スキャンする必要がありますか?
そして、次のようなfindを使用するもののようです。
チャプターがすでにキャッシュされている場合でも、データベースが再度ヒットします。
ruby-on-rails - Ruby on Rails: サブモデルとのポリモーフィックな関連付けに :include
ポリモーフィック アソシエーションを使用する場合、一部の型にのみ存在するサブモデルに対してインクルードを実行できますか?
例:
ビューでは、次のようなことをしたいと思います:
したがって、c をロードするときに有効期限を熱心にロードしたいと思います。そうする方法はありますか?囲まれたすべてのタイプにサブモデルの有効期限があるわけではないため、通常の :include を定義するだけでエラーが発生します。
eager-loading - globalize2翻訳の積極的な読み込み
私は2つのモデルを持っています-IssueとAnswers(問題には多くの答えがあります)そして両方ともglobalize2で翻訳されています。問題をロードしようとするたびに、
各回答の翻訳が読み込まれます(回答ごとに1つのSQLクエリ)。
どうすれば最適化できますか?
linq - LINQ to SQLを使用して兄弟データを熱心にロードするにはどうすればよいですか?
目標は、匿名型を使用せずにLINQtoSQLを使用してSQLServerに発行するクエリを最小限にすることです。メソッドの戻りタイプはIList<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>を返す理由は、ビジネスオブジェクトをハイドレイトするためです。
私の考えは私がどちらかであるということです:
- この問題に間違った方法でアプローチします。
- ストアドプロシージャを呼び出すオプションはありますか?
- 私の組織はLINQtoSQLをORMとして使用すべきではありませんか?
どんな助けでも大歓迎です。
ありがとうございました、
-スコット