ASP.NET我的音乐商店

时间:2013-02-06 05:04:16

标签: asp.net-mvc

我需要帮助先生,MVC中的新手,我想问为什么我找不到 商店DB甚至在底部声明。

“storeDB”在当前上下文中不存在

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using MyMusicStore.Models;

    namespace MyMusicStore.Controllers
    {
        public class StoreController : Controller
        {
            //
            // GET: /Store/

            public ActionResult Index()
            {
                var genres = storeDB.Genres.ToList();
                return View(genres);
            }

            public ActionResult Browse(string genre)
            {
                var newGenre = new Genre { Name = genre };
                return View (newGenre);
            }

            public ActionResult Details(int id)
            {
                var album = new Album { Title = "Album" + id };
                return View(album);
            }

            public class StoreController : Controller
            {
                MusicStoreEntities storeDB = new MusicStoreEntities();
            }


        }
    }

1 个答案:

答案 0 :(得分:2)

在StoreController类中,您第二次声明StoreController,并在其中声明变量。你所做的就是所谓的“内部阶级”,内部阶级与外部阶级不同,即使它看起来具有相同的名称,它也是全新的。

所以你打算这样做:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MyMusicStore.Models;

namespace MyMusicStore.Controllers
{
    public class StoreController : Controller
    {
        //
        // GET: /Store/

        public ActionResult Index()
        {
            var genres = storeDB.Genres.ToList();
            return View(genres);
        }

        public ActionResult Browse(string genre)
        {
            var newGenre = new Genre { Name = genre };
            return View (newGenre);
        }

        public ActionResult Details(int id)
        {
            var album = new Album { Title = "Album" + id };
            return View(album);
        }

        MusicStoreEntities storeDB = new MusicStoreEntities();


    }
}