私のEntityFrameworkCode Firstプロジェクトには、ルートを含むリポジトリオブジェクトがあります
public class EFRepository
{
...
public IQueryable<Route> Routes
{
get { return context.Routes; }
}
...
}
私が走ったら
var routes = this.repository.Routes
.Where(r => r.DeployedService.IsActive.HasValue
&& r.DeployedService.IsActive.Value);
ルートオブジェクトのタイプはIQueryable<Route>
です。
しかし、私が実行した場合
Func<Route, bool> routeIsActive = r => r.DeployedService.IsActive.HasValue
&& r.DeployedService.IsActive.Value;
var routes = this.repository.Routes.Where(routeIsActive);
この場合のroutesオブジェクトのタイプはIEnumerable<Route>
です。
私は彼らが同じように評価されるだろうと思っていたでしょうが、明らかに私は間違っています。2つのステートメントの違いは何ですか?また、なぜそれらは異なるタイプを返すのですか?