MVC3中的参数无效

时间:2012-11-14 18:12:50

标签: asp.net-mvc-3 invalid-argument

我无法编译此代码。我是MVC / Stackoverflow /编程新手,并尝试按照教程。此外,我尝试了一些事情并看到了Nullable值的一些选项,但没有太多运气。

public class ReviewsController : Controller
{
    OdeToFoodDB _db = new OdeToFoodDB();
    //
    // GET: /Reviews/

    //default action
    public ActionResult Index()
    {
        var model = _db.Reviews.FindTheLatest(3);
        return View(model);
    }

以下是FindTheLatest的定义

public static IEnumerable<RestaurantReview> FindTheLatest(this IList<RestaurantReview>        
reviews, int numberOfReviews)
    {
        return reviews.OrderByDescending(r => r.Created)
                      .Take(numberOfReviews);
   } 

如果需要,这里也是OdeToFood的定义。

namespace OdeToFood.Models
{
public class OdeToFoodDB : DbContext
{
    public DbSet<Restaurant> Restaurants { get; set; }
    public DbSet<RestaurantReview> Reviews { get; set; }
}
}

我收到一条错误说: 'System.Data.Entity.DbSet'不包含'FindTheLatest'的定义和最佳扩展方法重载'OdeToFood.Queries.RestaurantReviewQueries.FindTheLatest(System.Collections.Generic.IList,int)'有一些无效的参数

1 个答案:

答案 0 :(得分:1)

将您的扩展程序更改为使用IEnumerable<T>DbSet<T>List<T>共享的公共基本类型:

public static IEnumerable<RestaurantReview> FindTheLatest(
           this IEnumerable<RestaurantReview> reviews, int numberOfReviews)