В моем API есть действие post, которое создает заказ на основе некоторых данных, которые он извлекает из модели представления.
Он должен иметь возможность извлекать все фильмы из таблицы «фильмов», которыепередается к нему через модель представления и создания заказа.Модель представления передает действию идентификаторы фильмов, которые необходимо извлечь.
У меня есть рабочее решение, и при предоставлении данных действия, подобных этому, оно работает:
{
"movieIds": [34, 35],
"customerId": 21
}
база данных:
Однако, когда я даю данные действия, которые содержат два или более фильма с одинаковым идентификатором, он сохраняет только один фильм.
{
"movieIds": [34, 34],
"customerId": 21
}
база данных:
После отладки кода я обнаружил, что именно этот оператор linq вызывает проблему, он только когда-либосохраняет один экземпляр фильма в «фильмы».
movies = _context.Movies.Where(m => newRental.MovieIds.Contains(m.Id)).ToList();
Кто-нибудь знает, почему это происходит?и как построить оператор linq, который позволяет сохранить несколько идентификаторов?