У меня есть таблица продуктов и таблица действий. Каждый продукт состоит из разных видов деятельности. Что я хочу, это отображать имя продукта, цену и т. Д. И все действия (то есть все действия в одном столбце), которые являются частью этого продукта в сетке данных с помощью LINQ Ниже моего запросЗапрос linq для возврата строки из списка
using (bungeedbEntities context = new bungeedbEntities())
{
var bookingData = from con in context.bookings
join agn in context.agents on con.main_agent_id equals agn.code
select new POS_LINK.BusinessObjects.Bookings
{
Product = con.product_name,
Activity = String.Join(",", (from con1 in context.bookings
join acp in context.booking_activity on con1.code equals acp.booking_code
join agn in context.agents on con1.main_agent_id equals agn.code
join act in context.activities on acp.activity_code equals act.code
select act.name).ToArray()),
ReservationCode = con.main_agent_voucher,
CostOfSale = 0.00M,
DateOfActivity = (DateTime)con.date_of_activity,
Notes = con.notes,
Quantity = (int)con.pax,
Child_quantity = 0,
Child_cost_percentage = 0,
CostPerPerson = 0.00M,
SubAgentRef = "56789",
SubAgentName = con.sub_agent_name,
ClientName = con.client_name,
MainAgent = agn.agent_name,
Consultant2 = con.sub_agent_consultant
};
return bookingData.ToList();
При управлении я получаю следующее error- LINQ для лиц не признает «System метода. String Join (System.String, System.String []) ', и этот метод не может быть переведен в выражение хранилища.
Я, кажется, закончились идеи у кого есть лучшее решение для этого спасло бы меня от много царапины на голове
'String.Join' не переводится в Linq на SQL, также если бы это было так, вы выполняли бы sub select для каждой строки результата, которая вообще не является совершенной. Рассмотрите результаты группировки и выполните объединение на более позднем этапе. –