public interface IDepartmentDataSource
{
IQueryable<Department> Departments { get; }
}
public class DepartmentDb : DbContext, IDepartmentDataSource
{
//Error: property cannot implement property....
public DbSet<Department> Departments { get; set; }
//should be:
//public IQueryable<Department> Departments { get; set; }
}
(Pluralsight のコードを使用)
MSDN から:
public class DbSet<TEntity> : DbQuery<TEntity>,
IDbSet<TEntity>, IQueryable<TEntity>, IEnumerable<TEntity>,
IQueryable, IEnumerable
where TEntity : class
IQueryable として具体的に実装する必要があるのはなぜですか?