powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как сделать выборку (многие ко многим)?
2 сообщений из 2, страница 1 из 1
Как сделать выборку (многие ко многим)?
    #39371745
Daniil S.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, у меня есть таблица (многие ко многим) в ней есть поля:
id
order_id
product_id


Я хочу получить список продуктов в определённом заказе.
Я пытался получить список id продуктов:
Код: c#
1.
2.
3.
4.
5.
var ids = from prd in context.Positions.Where(p => p.order_id == order_id)
            select new
            {
                prd.product_id
            };



Затем пытался найти какой-то эквивалент WHERE...IN, но у меня так и не получилось:
Код: c#
1.
2.
3.
var products = from prd in context.Products
                            where ids.Contains(prd.id)
                            select prd;



До сдачи курсача 8ч, пожалуйста помогите разобраться.
...
Рейтинг: 0 / 0
Как сделать выборку (многие ко многим)?
    #39372033
Agapov_stas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Daniil S. , в классе Order у Вас должна быть строка, типа:
Код: c#
1.
public virtual ICollection<OrderProduct> OrderProducts { get; set; }


А в классе OrderProduct должно быть что-то типа:
Код: c#
1.
2.
public virtual Order Order { get; set; }
public virtual Product Product { get; set; }


Соответственно обращаться необходимо к этой коллекции конкретного заказа и выводить название product. Т.е.:
Код: c#
1.
2.
3.
4.
yourOrder.OrderProducts.Select(s=>new{
   id=s.Id,
   product=s.Product.Name
}).ToList();
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как сделать выборку (многие ко многим)?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]