Синтаксическая ошибка с левым соединением по запросу Linq с предложением where - PullRequest
0 голосов
/ 27 октября 2009

Надеюсь, это легко заметить. Этот запрос содержит ошибку синтаксиса;

public static IEnumerable<DailyTimeRecorded> GetPeriodData(
            Employee emp, DateTime startDate, DateTime endDate)
        {
            var listDTR =
                from dow in db.DayOfTheWeeks
                join dtr in db.DailyTimeRecordeds
                on dow.DayOfTheWeekId equals dtr.DayOfTheWeekId into sr
                where dtr.EmployeeId == emp.EmployeeId
                from x in sr.DefaultIfEmpty()
                select new
                {
                    DailyTimeRecordedId = x.DailyTimeRecordedId == null ? -1 : x.DailyTimeRecordedId,
                    DayOfTheWeekId = dow.DayOfTheWeekId,
                    EmployeeId = emp.EmployeeId,
                    MorningTimeIn_HH = x.MorningTimeIn_HH == null ? 0 : x.MorningTimeIn_HH,
                    MorningTimeIn_MM = x.MorningTimeIn_MM == null ? 0 : x.MorningTimeIn_MM
                 };
          return listDTR  as IEnumerable<DailyTimeRecorded>;
      }

Синтаксическая ошибка в строке; где dtr.EmployeeId == emp.EmployeeId Я получаю ошибку; «Имя« dtr »не существует в текущем контексте»

1 Ответ

1 голос
/ 27 октября 2009

Это решение!

public static IEnumerable<DailyTimeRecorded> GetPeriodData(
            Employee emp, DateTime startDate, DateTime endDate)
        {
            var listDTR =
                from dow in db.DayOfTheWeeks
                join dtr in db.DailyTimeRecordeds
                on dow.DayOfTheWeekId equals dtr.DayOfTheWeekId into sr
                from x in sr.DefaultIfEmpty()
                where x.EmployeeId == emp.EmployeeId
                select new
                {
                    DailyTimeRecordedId = x.DailyTimeRecordedId == null ? -1 : x.DailyTimeRecordedId,
                    DayOfTheWeekId = dow.DayOfTheWeekId,
                    EmployeeId = emp.EmployeeId,
                    MorningTimeIn_HH = x.MorningTimeIn_HH == null ? 0 : x.MorningTimeIn_HH,
                    MorningTimeIn_MM = x.MorningTimeIn_MM == null ? 0 : x.MorningTimeIn_MM
                 };
          return listDTR  as IEnumerable<DailyTimeRecorded>;
      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...