LINQ to SQL advice - почему это не сработает? - PullRequest
1 голос
/ 26 октября 2010

Я пытаюсь написать запрос LINQ, который просто получает количество строк, в которых переменная ('id') равна оператору JOB_GROUP. Проблема в том, что Visual Studio возвращает ошибку на; в конце говорится: «Только вызовы присваивания ..... могут быть использованы как оператор». Что-то не так с моим запросом?

var noofrows = from s in dc.QRTZ_JOB_DETAILs 
                where id == s.JOB_GROUP
               select s.JOB_NAME.Count();

Ответы [ 3 ]

14 голосов
/ 26 октября 2010

Вам нужно заключить запрос linq в круглые скобки перед вызовом метода Count ().

var noofrows = (from s in dc.QRTZ_JOB_DETAILs 
                where id == s.JOB_GROUP 
                select s.JOB_NAME).Count();
7 голосов
/ 26 октября 2010

Более легкий и читаемый:

 var count = dc.QRTZ_JOB_DETAILs.Count(x=>id == x.JOB_GROUP );
0 голосов
/ 26 октября 2010

В качестве альтернативы вы можете просто написать:

var noofrows = dc.QRTZ_JOB_DETAILs.Count(s => id == s.JOB_GROUP);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...