LINQ to SQL выполняет ИЛИ для строк - PullRequest
1 голос
/ 19 января 2010

Я просто хочу выполнить запрос LINQ, чтобы вернуть группу идентификаторов курсов и названий курсов, которые будут запущены в следующем году. В рамках этого мне нужно выполнить запрос OR, так как я также собираюсь вернуть данные, относящиеся и к следующему году, которые хранятся в виде строки в моей базе данных и являются единственной проблемой, с которой я сталкиваюсь, поэтому любая помощь будет оценены.

var result = (
    from a in Offering
    join b in Courseinfo on a.CourseID equals b.CourseID
    into temp
    from c in temp
    where c.Year == "10/11" || "11/12"
    select new { c.CourseID, c.CourseTitle }).DefaultIfEmpty();

Ответы [ 3 ]

5 голосов
/ 19 января 2010

Перепишите ваш запрос как where c.Year == "10/11" || c.Year == "11/12".

1 голос
/ 19 января 2010

Это основная синтаксическая ошибка - в C # нельзя сказать:

«Где год - 2010 или 2011».

Вы должны сказать:

"Где год 2010 или год 2011"

Итак, вы переписываете:

where c.Year == "10/11" || "11/12"

так:

where c.Year == "10/11" || c.Year == "11/12"
1 голос
/ 19 января 2010

Если вы хотите иметь возможность динамически выбирать годы, то вы можете сделать что-то вроде этого

var years = new List<string>{"1989", "1994", "2004", "2007"};

, а затем измените where на

where years.Contains(c.Year)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...