たとえば、関数を渡してデータをさらにクエリできるメソッドを持つリポジトリがあります。
List<Household> households = repository.AllIncluding(i => i.Id == "1419683").ToList();
テーブルに接続するとこの呼び出しは機能しますが、ビューに接続すると次のエラーがスローされます:インクルード パス式は、型で定義されたナビゲーション プロパティを参照する必要があります。参照ナビゲーション プロパティにはドット パスを使用し、コレクション ナビゲーション プロパティには Select 演算子を使用します。
テーブルにあるリレーションシップに関連している可能性があると思いましたが、ID をクエリしても (find を使用できることがわかっています)、エラーがスローされます。助けてください!?
これが私の方法の完全な例です:
public virtual IQueryable<Household> AllIncluding(params Expression<Func<Household, object>>[] includeProperties)
{
IQueryable<Household> query = _dbContext.Households;
foreach (var includeProperty in includeProperties)
{
query = query.Include(includeProperty);
}
return query;
}