首页 新闻 会员 周边

请教大侠一个问题

0
悬赏园豆:20 [已解决问题] 解决于 2013-08-26 08:30

请教:按照“不要重复”的理念,如何将如下代码写成通用的代码,也就是 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;
}

zhbj的主页 zhbj | 初学一级 | 园豆:165
提问于:2013-08-01 00:57
< >
分享
最佳答案
0
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();
}
手写的,你自己验证下~
思想就是泛型方法,加排序参数~
收获园豆:20
幻天芒 | 高人七级 |园豆:37175 | 2013-08-01 09:34
其他回答(3)
0

public List<T> Query()where T:class

....

我为球狂 | 园豆:5 (初学一级) | 2013-08-01 08:23
0
public class Repository<TEntity> where TEntity : class
    {
        NSContext context = new NSContext();
        public List<TEntity> Query() {
            return context.Set<TEntity>().ToList();
        }
    }
Yu | 园豆:12980 (专家六级) | 2013-08-01 08:38
0
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;
}
dudu | 园豆:30994 (高人七级) | 2013-08-01 14:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册