передать массив Int операторам LINQ для получения определенных объектов - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть массив int, и у этого массива есть идентификаторы для объектов, я хочу передать этот массив оператору LINQ и получить все объекты с одинаковыми идентификаторами с членами массива. И Я не знаю я не хочу использовать для l oop для получения этих объектов, я просто хочу узнать и узнать, как получить эти объекты с массивом в LINQ, заранее спасибо

public IEnumerable<ExhibitionPhoto> GetPhotosById(int[] ids)
{
   return _db.ExhibitionPhotos.Select();
}

Модель:

public class ExhibitionPhoto
{
    [Key]
    public int ExhibitionPhotoId { get; set; }
    public int ExhibitionId { get; set; }
    public string PhotoPath { get; set; }

    #region Navigational Properties
    [ForeignKey(nameof(ExhibitionId))]
    public Exhibition Exhibition { get; set; }
}

1 Ответ

0 голосов
/ 09 апреля 2020

Вы можете использовать предложение Where() с .Any()

public IEnumerable<ExhibitionPhot> GetPhotosById(int[] ids)
{
   return _db.ExhibitionPhotos.Where(x => ids.Any(y => y == x.ExhibitionPhotoId)); 
}

Where():

Фильтрует последовательность значений на основе предиката.

Any():

Определяет, существует ли какой-либо элемент последовательности или удовлетворяет условию.

...