2012-01-08 4 views
0

Мне нужно установить связь между классами:Какую связь я должен выбрать в linq-to-sql?

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

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

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

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

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

ответ

1

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

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

enter image description here

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

2

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

Смежные вопросы