следующий сценарий:Entity Framework список объектов содержит список объектов лямбда
public class User{
public virtual ICollection<MediaItem> MediaItems { get; set; }
}
public enum eMediaItemGenre
{
[Display(Name = "Pop")]
POP = 0,
[Display(Name = "Other")]
OTHER = 11
}
public class MediaItem
{
public virtual ICollection<MediaItemGenre> Genres { get; set; }
}
public class MediaItemGenre
{
[Key]
public Int32 Id { get; set; }
public eMediaItemGenre Genre { get; set; }
public Int32 MediaItemId { get; set; }
public virtual MediaItem MediaItem { get; set; }
}
Теперь я хотел бы сделать следующее: у меня есть MediaItem
, и я хотел бы найти MediaItems
, которые разделяют один и тот же Genre
.
Я сделал это так:
List<MediaItem> lItems = ltCOntext.MediaItems.Where(x => x.Genres.Any(y => pGenres.Contains(y))).ToList();
, но я получаю ошибку
Только примитивные типы или типы перечисления поддерживаются в этом контексте.
Почему у вас нет первичного ключа в 'MediaItem' и' User'? –
я. Я просто удалил все свойства здесь, поэтому код не будет слишком длинным., –