2017-02-06 5 views
0

どのように私は彼の子供なしでオブジェクトを選択できますか?私のコードで 私が持っている:あなたがdb.usersを使用する場合子なしでオブジェクトを選択するにはどうすればよいですか?

+0

おそらく 'db.users'のようなものでしょうか? –

+0

db.usersでもジョブがあるユーザー – AddRock

+0

遅延読み込みが有効になっている可能性があり、アクセスするときに子オブジェクトを読み込む可能性がありますか?あなたが明示的にそれを述べない限り、それは熱心に読み込まれません。 – galister

答えて

1

、あなたが実際に関連の仕事を持たないユーザを選択している「が含まれていない」のような

var db = new context(); 
var result = db.users.include("jobs"); 

気にいらを。しかし、遅延読み込みが有効になっていると、ユーザーのジョブにアクセスしようとすると別のデータベースクエリが実行されます。別のデータベースクエリを実行したくない場合は、遅延ロードを無効にしてください。例えば。コンテキスト

Configuration.LazyLoadingEnabled = false; 

のコンストラクタで遅延ロードが無効になっている場合、あなたはあなたが今の仕事でそれを行うと、あなたがにそれらを含むことができ、追加のクエリせずにいくつかの関連するエンティティが必要になります。

+0

configruationではい私はそれを行うことができますが、私は同じapp.configで働いている多くのプロジェクトがあります。 – AddRock

+0

任意のプロジェクトに対してapp.configを調整できます。または上記のようにコンストラクタを使用します。 –

+0

問題は、BLLプロジェクトの設定時に、私は 'Configuration.LazyLoadingEnabled = true;'を持っています。 BLLプロジェクトのメソッドが他の多くのプロジェクトで作成されているため、構成が変更できません。多くのプロジェクトでLazyLoadingEnabled = trueが必要です。 – AddRock

関連する問題