-1
我正在嘗試將地圖傳遞給視圖。在此之前,我使用來自某些實體(會話,電影,劇院)的數據填充它。我開始在會話中做選擇:編輯:爲什麼DataReader打開錯誤發生在這張地圖?
var sessions = from s in db.Sessions where s.TheaterID == id orderby s.MovieID, s.Time select s;
這是方法。在它內部,我遍歷每個會話並驗證在我的地圖中是否有一個列表,其中的電影名稱是關鍵字。當執行到達這一點時,我收到臭名昭着的「已經有一個打開的DataReader與這個Command相關聯,必須先關閉」。例外。我不能投,因爲一個類型列表:
public ActionResult MyAction(int id)
{
Theather theater = db.Theater.Find(id);
ViewBag.TheaterName = theater.NomeCinema;
var sessions = from s in db.Sessions where s.TheaterID == id orderby s.MovieID, s.Time select s;
var mapMovies = new Dictionary<string, List<DateTime>>();
foreach (Session s in sessions)
{
if (!mapMovies.ContainsKey(s.Movie.MovieName))
{
mapMovies.Add(s.Movie.MovieName, new List<DateTime>());
}
mapMovies[s.Movie.MovieName].Add(s.Time);
}
ViewBag.MapMovies = mapMovies;
return View();
}
在此行中出現的錯誤:
if (!mapMovies.ContainsKey(s.Movie.MovieName))
什麼我需要做的,通過這個錯誤?
在哪一行你會得到異常? – Gusman
@Gusman對不起,我忘了把這個。現在插入。 – learner