#C Razor Регистрация данных LINQ - PullRequest
0 голосов
/ 23 ноября 2018

Попытка отобразить таблицу с объединением Rating к ID в таблице Ratings.Я сталкиваюсь с проблемой с join в своем утверждении.

var Movie = from u in _context.Movie
                                 join g in _context.Ratings
                                 on u.Rating equals g.ID
                                 select (a => new List
                                 {
                                     Ratings = u.Rating,
                                     MovieRating = g.MovieRating

                         });


            Movie = await Movie.ToListAsync();

Тип одного из выражений в предложении соединения неправильный.Ошибка вывода типа при вызове «Join».

1 Ответ

0 голосов
/ 23 ноября 2018

У вас есть какой-то странный синтаксис, такой как (a => new List {... Не уверен, куда вы идете с этим. У вас есть класс с именем List? Вы пытаетесь получить список? Почему "a" втам ... так как на него нигде нет ссылок. Вы также пытаетесь изменить тип переменной Movie в своем коде, ключевое слово var не работает таким образом. В первой строке вы присваиваете ему IQueryable и позже вы попытаетесь присвоить ему List .

попробуйте что-то вроде этого:

var movieQuery = from u in _context.Movie
                 join g in _context.Ratings on u.Rating equals g.ID
                 select new
                 {
                     Ratings = u.Rating,
                     MovieRating = g.MovieRating
                 };
var movies = await movieQuery.ToListAsync(); // query will be executed here

В приведенном выше примере кода в качестве результата используется анонимный класс, поэтому фильмы будутвведите List , где T - анонимный класс, если у вас есть класс с именем List (по какой-то причине), представляющий один элемент результата, тогда используйте

select new List { ...

вместо

select new { ...

и если вы не хотите разбивать запрос / фактический список на 2 переменные, вы можете сделать что-то вроде:

var movies = await (from u in _context.Movie
             join g in _context.Ratings on u.Rating equals g.ID
             select new
             {
                Ratings = u.Rating,
                MovieRating = g.MovieRating
             }).ToListAsync();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...