Сначала я проектирую свою базу данных, используя код, и мне нужна небольшая помощь.
Я получаю эту ошибку:
Введение ограничения FOREIGN KEY 'SalesOrder_Invoices' в таблицу 'Счета-фактуры' может вызвать циклы или несколько каскадных путей. Укажите ON DELETE NO ACTION или ON UPDATE NO ACTION или измените другие ограничения FOREIGN KEY.
Не удалось создать ограничение. Смотрите предыдущие ошибки.
Я пытаюсь иметь следующие отношения / ключи:
--> = 1 to Many Relationship
- Клиент -> Расположение клиента
- CustomerLocation -> SalesOrder
- SalesOrder -> Счет
- SalesRep -> SalesOrder
- PaymentTerm -> Клиент
- PaymentTerm -> SalesOrder
- PaymentTerm -> Счет
Я пытаюсь определить их по стандарту:
<ClassName><PrimaryKeyID>
Пример: Customer
имеет свойство ID
, поэтому в CustomerLocation
я определяю внешний ключ следующим образом:
Public Property CustomerID AS Integer
Все, что мне нужно сделать, это правильно определить внешний ключ? Обязательно ли иметь навигационные свойства для каждой определяемой клавиши?
И не могу ли я иметь несколько внешних ключей для одного и того же первичного ключа объекта?
Обновлено
Итак, чтобы определить отношения, вы используете ClassName.PrimaryKeyProperty
? или вы используете свойства навигации? Или оба? Confused !!
Обновление 2
То есть, чтобы установить отношения, вы должны определить обе стороны ... Я думаю.
Public Class Customer
Public Property ID AS Integer
Public Overrideable Property Locations AS ICollection(OF CustomerLocation)
End Class
Public Class CustomerLocation
Public Property ID AS Integer
Public Property CustomerID AS Integer
End Class