请教:按照“不要重复”的理念,如何将如下代码写成通用的代码,也就是 abc 、 abcs 可以更换为其他。
其中 public DBSet<abc> abcs {get; set;}
public List<abc> Query()
{
var datas = from p in db.abcs
orderby p.ID
select p ;
if (datas.Count()>0)
return datas.ToList();
else
return null;
}
public List<T> Query<T>(Func<T,int> orderby) where T:class { var context=new DbContext(); var q=context.GetTables<T>().OrderBy(orderby); return q.ToList(); } 手写的,你自己验证下~ 思想就是泛型方法,加排序参数~
public List<T> Query()where T:class
....
public class Repository<TEntity> where TEntity : class { NSContext context = new NSContext(); public List<TEntity> Query() { return context.Set<TEntity>().ToList(); } }
public List<T> Query<T>() { var datas = from p in db.Set<T> orderby p.ID select p; if (datas.Count() > 0) return datas.ToList(); else return null; }