【发布时间】:2018-10-23 16:38:08
【问题描述】:
我需要知道是否有可能有一个 lambda 表达式接收对象的通用日期类型,以便我可以使用字符串、int 或日期时间进行排序,实际上我有这个:
public virtual IEnumerable<T> GetMany(Expression<Func<T,int>> id, int page, int qty)
{
try
{
int skip_ = PaginationMetering(page, qty);
return dbSet.OrderBy(id).Skip(skip_).Take(qty).ToList();
}
catch (Exception e)
{
throw e.InnerException ?? e;
}
}
我已经尝试过了,但我的问题是我无法在函数执行时进行数据类型转换:
public virtual IEnumerable<T> GetMany(Expression<Func<T,dynamic>> id, int page, int qty)
{
try
{
int skip_ = PaginationMetering(page, qty);
return dbSet.OrderBy(id).Skip(skip_).Take(qty).ToList();
}
catch (Exception e)
{
throw e.InnerException ?? e;
}
}
如果可能,我该如何处理?这很重要,因为它可以防止我对多种类型的数据重复相同的功能
【问题讨论】:
-
dbSet来自哪里? -
不能再添加一个类型参数吗?
public virtual IEnumerable<T, K> GetMany(Expression<Func<T,K>> id, int page, int qty)?或者你能举一些例子来说明你是如何称呼它的吗?