だが、私はそうのような方法があるとしましょう:dbSetです.dbSetが呼び出された後に呼び出されると無意味ですか?
public DbSet<Ingredient> GetIngredients(int limit = 0)
{
return db.Ingredients;
}
私のコントローラでは、私はこのような呼び出し行うことができるよう:GetIngredients()
呼び出しがあるので
var ingredients = GetIngredients()
.Include(i => i.AspNetUser)
.Include(i => i.AspNetUser1)
.Include(i => i.Ingredient_Category)
.Include(i => i.Measurement_Unit);
が、それは無意味か遅くなりますとにかくすべてをロードするつもりですか?
もしそうなら、GetIngredients()
をさまざまなインクルードをパラメータとして使用する方法がありますか?
最悪のシナリオ各シナリオでリポジトリに異なるメソッドをロードすることができます(または、とにかくそれを行う必要がありますか?コントローラーがビューの何を望んでいると言っているかのように感じるか...)そしてEFに私は私のリポジトリからIEnumarablesを返すべきか?)
多くのおかげ
あなたの質問を明確にする必要があります。もしあなたが含まれていれば使用します。1.遅延読み込みをしません。2.遅延読み込みをしていますが、すべてを単一のクエリで要求します。今度は、多対多の関係を含む複数のインクルードを含めると、おそらく、それらを別々にロードしてカーステッシュの生産を避けたいと思うでしょう。含まれているものにフィルタリングを適用したいので、あなたはあなたに何かをしたいのですか?あなたの質問はまだ分かりません。 –