Какие отношения я должен выбрать в linq-to-sql? - PullRequest
0 голосов
/ 08 января 2012

Мне нужно установить связь между классами:

Первый класс - Route.Маршрут имеет StartStation (Station класс) и EndStation (Station класс).

И каждая станция может быть начальной или конечной станцией для многих маршрутов.

Этоone-to-many отношение?

Если да, как я могу установить это отношение?

Предоставление EntitySet<Route> классу Station не имеет смысла для меня, но, возможно, я ошибаюсь?

Ответы [ 2 ]

2 голосов
/ 08 января 2012

Спросите себя, может ли станция иметь более одного маршрута.Если это так, то ваши отношения многие-ко-многим.Если нет, то у вас должна быть коллекция станций для каждого маршрута.

1 голос
/ 08 января 2012

Я полагаю, что один Station экземпляр достигается N Route экземплярами, поэтому отношение Station - Route - один ко многим.

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

enter image description here

Таким образом, я бы посоветовал вам установить свойства StartStation и EndStation, как вы только что это сделали, и наличие EntitySet<Route> для каждого Station действительно имеет смысл: это совокупность всех маршрутов, которые связаны с этим Station экземпляром.

...