Использование linq2SQL для возврата отношения 1 ко многим? - PullRequest
0 голосов
/ 10 августа 2009

Есть ли хороший способ возврата отношения 1 ко многим из linq2sql, вероятно, требуется некоторое объяснение! : -)

В основном у меня есть таблица с накладными и другая таблица с подробностями накладной.

У меня есть классы linq2sql, которые были автоматически созданы с помощью конструктора linq2sql ...

Таким образом, чтобы вернуть запрос, в котором счет-фактура 1232 содержит 15 различных элементов / сведений ... На данный момент я вижу, что мне нужно выполнить запрос по счету-фактуре, а затем запрос по детализации запроса-фактуры .. .

Я уверен, что должен быть более легкий путь? вместо того, чтобы делать 2 запроса ... то есть ПРИСОЕДИНЯТЬСЯ?

Также я хотел посмотреть, смогу ли я вернуть значения в Iqueryable, но со связанной таблицей?

Основные сведения У меня есть метод Iqueryable <> GetInvoice ();

Конечно, Iqueryable является универсальным и может содержать информацию о счете-фактуре или счете-фактуре - НЕ оба, или, может быть, я что-то упустил?

Ответы [ 2 ]

0 голосов
/ 10 августа 2009

Если у вас установлены отношения в базе данных, то вы создали свои объекты с помощью конструктора, и вы автоматически сможете получать детали счета из счета.

как то так ....

IList<InvoiceDetail> invoiceDetails = GetInvoice().SingleOrDefault(x => x.invoiceKey == 1232).InvoiceDetails.ToList();
0 голосов
/ 10 августа 2009

Если ваша структура базы данных уже содержит соединение («ограничение») между первичным ключом в вашей таблице счетов-фактур и внешним ключом (идентификатором счета-фактуры) в таблице сведений о счете-фактуре, вы сможете получить доступ к деталям счета-фактуры из Ваш объект счета, как это:

myInvoice.Details

Linq to SQL должен был создать эту связь для вас, когда вы перетаскивали свои таблицы в конструктор. Другими словами, вы можете обратиться к объекту Invoice и напрямую получить доступ к деталям.

Если это отношение существует, вы должны увидеть его в конструкторе Linq to SQL в виде линии, проведенной между таблицей счетов и таблицей сведений о счетах.

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