топ-1 уважаемых файлов в linq в MVC3 - PullRequest
0 голосов
/ 09 декабря 2011

Я использую MVC3.у меня есть список опций и список вопросов.Вопросы и параметры связаны с помощью идентификатора вопроса.

step1: мне нужно выбрать первый вопросик QuestionId из вопросов, шаг 2. Мне нужно выбрать параметры, равные первому идентификатору вопроса 1 *.Итак, я написал так.

    var topqid =  (from tsk in lcquestion
                             select tsk.QuestionId).Take(1);
                int tqid = Convert.ToInt32(topqid);
                var moptions = from mop in lcoption
                               where mop.QuestionId == tqid 
                               select mop.OptionText;

, но его ошибка выдачи невозможна cast_int32 ........

как я могу это сделать?

Спасибо.

Ответы [ 3 ]

1 голос
/ 09 декабря 2011

Take вернет IEnumberable<T>, что вам нужно Первый :

 var topqid =  (from tsk in lcquestion
                             select tsk.QuestionId).First();
0 голосов
/ 09 декабря 2011

Вот еще один способ сделать это без синтаксиса запроса:

// get the whole question object / row
var topq = lcquestion.First();

// if QuestionId is not already an int, convert
var tqid = Convert.ToInt32(topq.QuestionId);

var moptions = lcoption.Where(o => o.QuestionId == tqid).Select(o => o.OptionText);
0 голосов
/ 09 декабря 2011

Вы не можете использовать Convert.ToInt32 в запросах Linq To Sql / Entities.

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