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