#c# #linq-to-sql #windows-phone-7
#c# #linq-to-sql #windows-phone-7
Вопрос:
Как следует из названия, я ищу решение этой проблемы с атрибутом ассоциации, который также является свойством для установщика EntitySet<>, поскольку он отличается для отношений «Многие ко многим», я не уверен, что я иду в правильном направлении, поскольку примеров указанных отношений нет, из-за того, что L2S оченьсложно с этим типом отношений.
Должна ли таблица внешнего ключа иметь ссылки или наборы на 2 таблицы, к которым она присоединяется …?
Пример:
- Отели — Таблица
- Запланированные рейсы — таблица
- HotelToScheduledFlights — таблица — состоит из HotelId и ScheduledFlightId оба являются FKS
Должен ли я использовать многие ко многим в этом случае? или мне лучше провести рефакторинг до «один ко многим»?
Ответ №1:
Если отношения внешнего ключа существуют в SQL, L2S будет иметь как свойства (например, HotelId, ScheduledFlightId), так и ссылки EntityRefs в объекте таблицы HotelToScheduledFlights. Затем отели будут иметь EntitySet, указывающий на HotelToScheduledFlights, как и запланированные рейсы.
Я думаю, что это действительное отношение «многие ко многим», если вы планируете искать отели по рейсам и рейсам по отелям.
Чтобы привязать все рейсы к отелю, вы бы сделали:
Hotel h = dc.Hotels.First(); // Pick a hotel
List<ScheduledFlight> l = h.HotelToScheduledFlight.Select(i => i.ScheduledFlight).ToList();
Комментарии:
1. хммм, мне придется взглянуть на это немного сложнее. ручное кодирование — это боль в заднице, жаль, что у них не было инструментов для моделирования этого для Windows Phone.