Entity Framework Code First - Определение отношений / ключей

Я проектирую свою базу данных, используя сначала код, и мне нужна небольшая помощь, я думаю.

Я получаю эта ошибка:

Введение ограничения FOREIGN KEY "SalesOrder_Invoices" в таблице "Invoices" может вызвать циклы или несколько каскадных путей. Укажите ON DELETE NO ACTION или ON UPDATE NO ACTION или измените другие ограничения FOREIGN KEY.
Не удалось создать ограничение. См. Предыдущие ошибки.

Я пытаюсь иметь следующие отношения / ключи:

--> = 1 to Many Relationship
  1. Клиент -> Местоположение клиента
  2. Местоположение клиента -> SalesOrder
  3. SalesOrder -> Счет-фактура
  4. SalesRep -> SalesOrder
  5. PaymentTerm -> Customer
  6. PaymentTerm -> SalesOrder
  7. PaymentTerm -> Invoice

Я пытаюсь определить их по стандарту:

<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
38
задан cspolton 12 September 2012 в 10:41
поделиться