Может кто-нибудь преобразовать этот код linq в запрос SQL (потому что я не понимаю, что он делает)? - PullRequest
0 голосов
/ 29 мая 2019
var don2 = db.Panels.Include(y => y.Invoice)
                    .Include(x => x.PanelTypeEntries
                                   .Select(a => a.SubItems))
                    .Where(v => v.Invoice_Id == Quotation_Id)
                    .ToList();

1 Ответ

0 голосов
/ 29 мая 2019

Вот что делает этот кусок LinQ:

Код использует Panels набор сущностей вашего dbContext, то есть таблицу Panels в вашей базе данных.

Тогда,вы включаете Invoice сущность, потому что она является частью вашей панели.Скорее всего, это еще одна таблица, имеющая отношение к панелям.

Вы также включаете то, что выглядит как совокупность PanelTypeEntries для вашей Panels сущности.Вероятно, у вас есть отношение NN между этими таблицами в вашей базе данных.Включая PanelTypeEntries, вы просто ВЫБИРАЕТЕ его свойство SubItems.Возможно, потому что Panels не содержит Список PanelTypeEntries, но Список SubItems.

Предложение where() такое же, как в SQL.

Наконец,ToList() попросить поставщика выполнить запрос и сохранить его в List.Вот почему тип var don2 относится к списку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...