Создание связи между классами LINQ to SQL (конструктор O/R)
Связи между классами сущностей в LINQ to SQL аналогичны связям между таблицами в базе данных. Ассоциации между классами сущностей можно создавать, используя диалоговое окно Редактор ассоциаций.
Можно выбирать родительский класс и дочерний класс, когда диалоговое окно Редактор ассоциаций используется для создания ассоциации. Родительский класс представляет собой класс сущностей, который содержит первичный ключ; дочерний класс представляет собой класс сущностей, который содержит внешний ключ. Например, если классы сущностей были созданы, сопоставленные с Northwind Customers
Orders
таблицами, Customer
класс будет родительским, а Order
класс будет дочерним.
Примечание.
При перетаскивании таблиц из обозревателя серверов или обозревателя баз данных в реляционный конструктор объектов (конструктор O/R) связи создаются автоматически на основе существующих связей внешнего ключа в базе данных.
Свойства ассоциации
После создания ассоциации при выборе ассоциации в реляционном конструкторе объектов имеются некоторые конфигурируемые свойства в окне Свойства. (Связь — это линия между связанными классами.) В следующей таблице приведены описания свойств ассоциации.
Свойство | Description |
---|---|
Кратность | Контролирует, представляет ли ассоциация отношение "один-ко-многим" или отношение "один-к-одному". |
Дочернее свойство | Определяет, создавать ли свойство на основе родителя, который является коллекцией, или на основе ссылки на дочерние записи на стороне внешнего ключа ассоциации. Например, в связи между Customer и , если дочернее свойство имеет значение True, свойство с именем Orders создается в Order родительском классе. |
Родительское свойство | Свойство на основе дочернего класса, который ссылается на связанный родительский класс. Например, в связи между Customer и Order свойством, которое Customer ссылается на связанного клиента для заказа, создается в Order классе. |
Участвующие свойства | Отображает свойства связи и предоставляет кнопку с многоточием (...), которая открывает диалоговое окно редактора ассоциаций. |
Уникальный | Указывает, имеют ли внешние целевые столбцы ограничение уникальности. |
Для создания ассоциации между классами сущностей
Щелкните правой кнопкой мыши класс сущности, представляющий родительский класс в ассоциации, наведите указатель на "Добавить" и выберите "Связь".
Убедитесь, что выбран правильный Родительский класс, в диалоговом окне Редактор ассоциации.
Выберите Дочерний класс в поле со списком.
Выберите Свойства ассоциации, которые связывают классы. Обычно, это сопоставляется с отношением внешнего ключа, определенным в базе данных. Например, в разделе "Свойства ассоциации
Customers
"Orders
и "Свойства ассоциации" являютсяCustomerID
для каждого класса.Нажмите кнопку OK для создания ассоциации.