Имя xxx не существует в текущем контексте. Что я делаю неправильно?

 var result = from lr in _db.LeaveRequest
                 join th in _db.TotalHourslu    
                 on lr.TotalHoursEffect 
                 equals th.Minutesselect
                     select new { lr.TotalHoursEffect, th.Minutes, tr.Display };

ОШИБКА: Имя '_db' не существует в текущем контексте Имя '_db' не существует в текущем контексте Имя ' tr ' не существует в текущем контексте


person Yves    schedule 07.07.2009    source источник
comment
Просто чтобы убедиться, что tr.Display должен быть lr.Display? Это та же ошибка по той же причине, что и _db, которая скоро будет хорошо объяснена в ответах. Однако, если tr — просто опечатка, то это другое исправление.   -  person Sean    schedule 07.07.2009


Ответы (2)


Вы забыли добавить

MyDataClassesDataContext _db = new MyDataClassesDataContext();

в ваш класс в качестве переменной-члена?

person Robert Harvey    schedule 07.07.2009
comment
Привет, Роберт, спасибо. Я забыл поместить вышеуказанный datacontext. Я добавил выше, и у меня все еще есть ошибка: tr.Display. - person Yves; 07.07.2009

Эта ошибка означает, что в текущем контексте нет объектов с именами _db или tr. Это означает, что нет локальных переменных метода, члена класса или глобальных переменных с такими именами. Возможно, вы скопировали-вставили какой-то код и забыли переименовать переменные в правильные имена?

Также помните, что переменные-члены в одном классе недоступны из других классов, если вы не добавляете к ним префикс «ClassName.», например NameOfClassWhereDBIsDefined._db. И это даже не сработает, если _db является закрытым членом, как это, вероятно, и есть. В этом случае вам нужно будет передать _db в качестве параметра функции или сделать его доступным через метод/свойство получателя.

person Sean    schedule 07.07.2009