Ошибки при создании пользовательского объекта Querable с помощью MVC и Subsonic pagedlist - PullRequest
1 голос
/ 08 июня 2010

Хия, у меня есть следующий код, но когда я пытаюсь создать новый IQuerable, я получаю ошибку, что интерфейс не может быть реализован, если я убираю новый, я получаю не реализованное исключение, пришлось вернуться назад и работать на некоторых старых классических сайтах ASP за прошлый месяц и на всю жизнь я не могу разбудить свой мозг в режиме C #.

Не могли бы вы посмотреть ниже и дать мне несколько подсказок о том, где я ошибаюсь:

Код должен создать список priceItems, но вместо categoryID (int) я буду отображать имя в виде строки.

        public ActionResult ViewPriceItems(int? page)
    {
        var crm = 0;
        page = GetPage(page);

        // try and create items2
        IQueryable<ViewPriceItemsModel> items2 = new IQueryable<ViewPriceItemsModel>();

        // the data to be paged,but unmodified
        var olditems = PriceItem.All().OrderBy(x => x.PriceItemID);

        foreach (var item in olditems)
        {
            // set category as the name not the ID for easier reading
            items2.Concat(new [] {new ViewPriceItemsModel {ID = item.PriceItemID,
                  Name = item.PriceItem_Name,
                  Category = PriceCategory.SingleOrDefault(
                       x => x.PriceCategoryID == item.PriceItem_PriceCategory_ID).PriceCategory_Name,
                  Display = item.PriceItems_DisplayMethod}});
        }


        crm = olditems.Count() / MaxResultsPerPage;
        ViewData["numtpages"] = crm;
        ViewData["curtpage"] = page + 1;

        // return a paged result set
        return View(new PagedList<ViewPriceItemsModel>(items2, page ?? 0, MaxResultsPerPage));
    } 

большое спасибо

1 Ответ

1 голос
/ 08 июня 2010

вам не нужно создавать предметы2. удалите строку с комментарием попробуйте и создайте items2. Используйте следующий код. Я не проверял это. Но я надеюсь, что это работает.

var items2 = (from item in olditems
                      select new ViewPriceItemsModel
                          {
                              ID = item.PriceItemID,
                              Name = item.PriceItem_Name,
                              Category = PriceCategory.SingleOrDefault(
                                 x => x.PriceCategoryID == item.PriceItem_PriceCategory_ID).PriceCategory_Name,
                              Display = item.PriceItems_DisplayMethod
                          }).AsQueryable();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...