このコードを見てみましょう:
public IQueryable<Category> GetAllActive()
{
Contract.Ensures(Contract.Result<IQueryable<Category>>() != null);
return dataSource.GetCategories(T => T.IsActive);
}
小さな質問があります。コード契約でこれを書いても大丈夫ですか:
public IQueryable<Category> GetAllActive()
{
Contract.Ensures(Contract.Result<IQueryable<Category>>() != null);
Contract.Ensures(Contract.Result<IQueryable<Category>>().All(T => T.IsActive));
return dataSource.GetCategories(T => T.IsActive);
}
か否か?
そのようなことは、非常に望ましくない不必要なシーケンス列挙を生成しますか?