У меня есть 3 модели с именем:
Pencil having Pencil.Id(int) and Pencil.Colors(IEnumerable) Property
Pen having Pen.Id(int) and Pen.Colors(IEnumerable) Property
Colors having Id and name.
Карандаш имеет отношение к цветам (много -к -много )Перо связано с цветами (много -к -много)
Я хочу создать запрос, который покажет мне карандаши того же цвета для ручки, которую я держу.
Я использую приведенный ниже запрос LINQ -to -Entities:
int id = id_of_the_pen_that_i_am_holding;
Pen p = db.Pens.Find(id);
var list = from m in db.Pencils where m.Colors.Intersect(p.Colors) != null select m;
Модель цветов IEnumerable, поэтому она имеет более 1 цвета. Например; у ручки 15 разных цветов, а у карандаша 25 разных цветов. Я хочу принести соответствующий карандаш, если один из цветов ручки, которую я держу, также доступен в цветовой палитре этого карандаша.
Но я получаю исключение для использования обычных переменных, таких как int или string, а не объектов.
Что я могу сделать? Заранее спасибо за вашу помощь.
ОТРЕДАКТИРОВАНО: Я создал новый вопрос для следующей возможной проблемы:C #LINQ to Entities -Свойства на пересечении объекта и набора объектов