受MVC商店的启发,我正在开展的最新项目中使用了对IQueryable的扩展方法来过滤结果。
我有这个接口;
IPrimaryKey
{
int ID { get; }
}
我有这个扩展方法
public static IPrimaryKey GetByID(this IQueryable<IPrimaryKey> source, int id)
{
return source(obj => obj.ID == id);
}
假设我有一个类,SimpleObj,它实现了IPrimaryKey接口。当我有一个SimpleObj的IQueryable时,如果不显式将其转换为IPrimaryKey的IQueryable,则无法使用GetByID方法,这不太理想。
这里我是否漏掉了什么?