Поделиться через


Создание связи между классами LINQ to SQL (конструктор O/R)

Связи между классами сущностей в LINQ to SQL аналогичны связям между таблицами в базе данных. Ассоциации между классами сущностей можно создавать, используя диалоговое окно Редактор ассоциаций.

Можно выбирать родительский класс и дочерний класс, когда диалоговое окно Редактор ассоциаций используется для создания ассоциации. Родительский класс представляет собой класс сущностей, который содержит первичный ключ; дочерний класс представляет собой класс сущностей, который содержит внешний ключ. Например, если классы сущностей были созданы, сопоставленные с Northwind Customers Orders таблицами, Customer класс будет родительским, а Order класс будет дочерним.

Примечание.

При перетаскивании таблиц из обозревателя серверов или обозревателя баз данных в реляционный конструктор объектов (конструктор O/R) связи создаются автоматически на основе существующих связей внешнего ключа в базе данных.

Свойства ассоциации

После создания ассоциации при выборе ассоциации в реляционном конструкторе объектов имеются некоторые конфигурируемые свойства в окне Свойства. (Связь — это линия между связанными классами.) В следующей таблице приведены описания свойств ассоциации.

Свойство Description
Кратность Контролирует, представляет ли ассоциация отношение "один-ко-многим" или отношение "один-к-одному".
Дочернее свойство Определяет, создавать ли свойство на основе родителя, который является коллекцией, или на основе ссылки на дочерние записи на стороне внешнего ключа ассоциации. Например, в связи между Customer и , если дочернее свойство имеет значение True, свойство с именем Orders создается в Orderродительском классе.
Родительское свойство Свойство на основе дочернего класса, который ссылается на связанный родительский класс. Например, в связи между Customer и Orderсвойством, которое Customer ссылается на связанного клиента для заказа, создается в Order классе.
Участвующие свойства Отображает свойства связи и предоставляет кнопку с многоточием (...), которая открывает диалоговое окно редактора ассоциаций.
Уникальный Указывает, имеют ли внешние целевые столбцы ограничение уникальности.

Для создания ассоциации между классами сущностей

  1. Щелкните правой кнопкой мыши класс сущности, представляющий родительский класс в ассоциации, наведите указатель на "Добавить" и выберите "Связь".

  2. Убедитесь, что выбран правильный Родительский класс, в диалоговом окне Редактор ассоциации.

  3. Выберите Дочерний класс в поле со списком.

  4. Выберите Свойства ассоциации, которые связывают классы. Обычно, это сопоставляется с отношением внешнего ключа, определенным в базе данных. Например, в разделе "Свойства ассоциацииCustomers" Orders и "Свойства ассоциации" являются CustomerID для каждого класса.

  5. Нажмите кнопку OK для создания ассоциации.