0

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


        }
    }
4

1 に答える 1

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


    }
}
于 2013-02-06T05:06:57.343 に答える