1

我试图让这段代码工作,但由于某种原因我得到了编译错误

   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));
            }
        };
    }

编译错误:无法从用法中推断方法“System.Data.Objects.ObjectContext.CreateObjectSet()”的类型参数。尝试明确指定类型参数。

4

1 回答 1

0

假设这T是一个实体类型,您需要:

return mainEntities.CreateObjectSet<T>().Where(predicate);

(顺便说一句:重新抛出一个新异常会掩盖调用代码的原始异常。至少使它成为新异常的 InnerException)。

于 2012-11-21T22:42:34.280 回答