Структура запроса соединения LINQ, приводящая к ошибке CS0119 - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь объединить две разные модели классов в проекте MVC, чтобы я мог упорядочить их по возрастанию / убыванию.Я пробовал несколько перестановок, но не могу заставить запрос LINQ играть хорошо.Любые предложения о том, что я делаю не так?

var lateContact = from c in JPLatestContact
                  join s in JPStudent on c.ApplicationUserId equals 
                  s.ApplicationUserId
                  orderby c.JPLatestContactDate ascending
                  select s;

Я начинающий, когда дело доходит до этого, но если я правильно понимаю, «c» и «s» - это переменные, которые я сам составляю.«JPLatestContact» и «JPStudent» - это две модели / классы / таблицы, к которым я хочу присоединиться, и обе имеют «ApplicationUserId», к которому я могу присоединиться, и я хочу упорядочить все результаты по значению «JPLatestContactDate», найденному вМодель JPLatestContact, в порядке возрастания.

С запросом, который я написал выше, я получаю ошибку CS0119 «JPLatestContact - это тип, который недопустим в данном контексте».

Я не уверен, в чем проблема с моей структурой, или я неправильно использовал структуру JOIN?

1 Ответ

0 голосов
/ 20 сентября 2018

Вы не можете запустить выбор LINQ для типа, только для коллекции этого типа - то есть для всего, что реализует IEnumerable<JPLatestContact> или IQueryable<JPLatestContact>, например List<JPLatestContact>, dbContext.JPLatestContact и т. Д. То же самое относится к JPStudent - вам нужна коллекция или IQueryable<JPStudent> для нее.

Предполагая, что вы запрашиваете EF, запрос должен выглядеть следующим образом:

var lateContact = from c in dbContext.JPLatestContact
                  join s in dbContext.JPStudent on c.ApplicationUserId equals 
                  s.ApplicationUserId
                  orderby c.JPLatestContactDate ascending
                  select s;

Убедитесь, что все имена сущностей и свойстваимена соответствуют фактическим именам, определенным в вашей модели EF.

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