Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Соединение двух источников данных — это связь объектов в одном источнике данных с объектами, которые совместно используют общий атрибут в другом источнике данных.
Присоединение является важной операцией в запросах, предназначенных для источников данных, взаимосвязи между которыми нельзя определить напрямую. В объектно-ориентированном программировании это может означать корреляцию между объектами, которые не моделировались, например обратное направление в односторонней связи. Пример одностороннего отношения — это класс Customer, имеющий свойство типа City, но класс City не имеет свойства, которое является коллекцией объектов Customer. Если у вас есть список объектов City и вы хотите найти всех клиентов в каждом городе, вы можете использовать операцию присоединения для их поиска.
Методы соединения, предоставляемые в платформе LINQ, это Join и GroupJoin. Они выполняют эквисоединения, или соединения, которые сопоставляют два источника данных на основе равенства их ключей. (Для сравнения, Transact-SQL поддерживает операторы соединения, отличные от 'равно', например оператор 'меньше'. В терминологии реляционных баз данных, Join реализует внутреннее соединение, тип соединения, в котором возвращаются только те объекты, которые имеют совпадение в другом наборе данных.) Метод GroupJoin не имеет прямого эквивалента в терминах реляционных баз данных, но реализует надмножество внутренних соединений и левых внешних соединений. Левое внешнее соединение — это соединение, которое возвращает каждый элемент первого (левого) источника данных, даже если он не имеет коррелированных элементов в другом источнике данных.
На следующем рисунке показано концептуальное представление двух наборов и элементов в этих наборах, включенных в внутреннее соединение или левое внешнее соединение.
Методы
Имя метода | Описание | Синтаксис выражения запроса Visual Basic | Дополнительная информация |
---|---|---|---|
Присоединиться | Соединяет две последовательности на основании функций селектора ключа и извлекает пары значений. | From x In …, y In … Where x.a = y.a -или- Join … [As …]In … On … |
Enumerable.Join Queryable.Join |
Присоединение к группе | Соединяет две последовательности на основании функций селектора ключа и группирует полученные при сопоставлении данные для каждого элемента. | Group Join … In … On … |
Enumerable.GroupJoin Queryable.GroupJoin |
См. также
- System.Linq
- Общие сведения о стандартных операторах запроса (Visual Basic)
- Анонимные типы
- Сформулировать соединения и запросы между продуктами
- Предложение Join
- Практическое руководство. Присоединение содержимого из разнородных файлов (LINQ) (Visual Basic)
- Практическое руководство. Заполнение коллекций объектов из нескольких источников (LINQ) (Visual Basic)