我正在尝试让这段代码正常工作,但由于某些原因我收到了编译错误
private IQueryable<T> FindObjects(Expression<Func<T, bool>> predicate, T item)
{
using (MainEntities mainEntities = new MainEntities())
{
try
{
return mainEntities.CreateObjectSet().Where(predicate);
}
catch (Exception exp)
{
throw new Exception(ErrorHelper.GenerateExceptionMessage(exp));
}
};
}
Complile错误: 无法从用法推断出方法'System.Data.Objects.ObjectContext.CreateObjectSet()'的类型参数。尝试显式指定类型参数。
答案 0 :(得分:0)
假设T
是实体类型,您需要:
return mainEntities.CreateObjectSet<T>().Where(predicate);
(顺便说一下:重新抛出一个新的异常会掩盖调用代码的原始异常。至少使它成为新异常的InnerException。)