Entity Framework 4.1 Code First - Ключи / Свойства навигации - PullRequest
0 голосов
/ 04 апреля 2011

Это как вы бы настроили базовые отношения PK / FK?

Вам нужно определить и ключ, и свойство навигации?

Public Class Foo
    'PK
    Public Property FooID As Integer

    'Navigation Prop
    Public Overridable Property Bars As ICollection(Of Bar)

End Class

Public Class Bar
    'PK
    Public Property BarID As Integer
    'FK
    Public Property FooID As Integer

    'Navigation Prop
    Public Overridable Property Foo As Foo

End Class

1 Ответ

2 голосов
/ 04 апреля 2011

Это базовая конфигурация, если вы хотите, чтобы соглашения по умолчанию заботились о отображении. Но вы можете использовать свободный интерфейс и определить что-либо из этих примеров в качестве допустимого отношения:

Свойство навигации только у родителя:

Public Class Foo
    'PK
    Public Property FooID As Integer

    'Navigation Prop
    Public Overridable Property Bars As ICollection(Of Bar)   
End Class

Public Class Bar
    'PK
    Public Property BarID As Integer
End Class

Навигация возможна только для родительского объекта и свойства FK для дочернего объекта:

Public Class Foo
    'PK
    Public Property FooID As Integer

    'Navigation Prop
    Public Overridable Property Bars As ICollection(Of Bar)
End Class

Public Class Bar
    'PK
    Public Property BarID As Integer
    'FK
    Public
    Property FooID As Integer
End Class

Навигация по ребенку:

Public Class Foo
    'PK
    Public Property FooID As Integer
End Class

Public Class Bar
    'PK
    Public Property BarID As Integer

    'Navigation Prop
    Public Overridable Property Foo As Foo
End Class

Свойство Navigation и свойство FK на дочернем элементе:

Public Class Foo
    'PK
    Public Property FooID As Integer
End Class

Public Class Bar
    'PK
    Public Property BarID As Integer
    'FK
    Public Property FooID As Integer

    'Navigation Prop
    Public Overridable Property Foo As Foo
End Class

Кроме того, вы также можете настроить отображение объекта как необязательное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...