以下のFindBy関数とFindByExp関数の基本的なメカニズムについて少し混乱しています。FindyByExpがデータベース側で述語を実行することを理解しています。しかし、FindBy関数はどうですか?データベースからすべてのオブジェクトを取得し、最初にそれらをメモリにロードしてから、述語を実行しますか?
public IQueryable<T> FindBy(Func<T, bool> predicate)
{
return context.Get<T>().Where(predicate).AsQueryable<T>();
}
public IQueryable<T> FindByExp(Expression<Func<T, bool>> predicate)
{
return context.Get<T>().Where(predicate).AsQueryable<T>();
}