LINQ возвращает ноль, а тот же запрос при записи в SQL возвращает результат - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть две таблицы Survey_Response и Questions.

Столбцы в Survey_Response:

ID PK
SurveyID FK
QuestionID FK
Response varchar
FilledBy FK

Столбцы в Questions:

ID PK
Text varchar
QuestionType varchar
Options varchar

Запрос SQL Server, который работает нормально:

select * 
from Survey_Response SR
inner join Questions q on SR.QuestionID = q.ID
where SR.SurveyID='1008'

LINQ, который возвращает нулевое значение,

    ResponseList = (from r in ObjectSur.Survey_Response
                    join q in ObjectSur.Questions on r.SurveyID equals q.ID
                    where r.SurveyID.Equals(prefix)
                    select new ResponseViewModel
                    {
                        QuestionID = r.QuestionID,
                        Text = q.Text,
                        Response = r.Response,
                        FilledBy = r.FilledBy
                    }).ToList();

Я думаю, что оба запроса одинаковы.

Надеемся на ваши предложения.

Спасибо

1 Ответ

0 голосов
/ 03 декабря 2018

Оба запроса не совпадают с тем, как вы присоединяетесь на QuestionID в SQL, а затем SurveyID в Linq

ResponseList = (from r in ObjectSur.Survey_Response
                join q in ObjectSur.Questions on r.QuestionID equals q.ID //<-- change here
                where r.SurveyID.Equals(prefix)
                select new ResponseViewModel
                {
                    QuestionID = r.QuestionID,
                    Text = q.Text,
                    Response = r.Response,
                    FilledBy = r.FilledBy
                }).ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...