由于标题表明我正在寻找具有Association属性的解决方案,因此EntitySet的属性<> setter因为它与Many To Many的关系不同我不确定我是否正朝着正确的方向前进,因为没有关系的例子,因为L2S在这种关系中非常困难。
外键表是否必须对它加入的2个表有引用或设置...?
示例:
在这种情况下我会使用多对多吗?或者我最好还是重构为一对多?
答案 0 :(得分:1)
如果SQL中存在外键关系,则L2S将同时具有HotelToScheduledFlights表对象中的属性(ex HotelId,ScheduledFlightId)和EntityRefs。然后,酒店将有一个指向HotelToScheduledFlights的EntitySet,与ScheduledFlights一样。
我认为这是一个有效的多对多关系,只要您计划需要通过酒店的航班和航班查找酒店。
要将所有航班与酒店挂钩,请执行以下操作:
Hotel h = dc.Hotels.First(); // Pick a hotel
List<ScheduledFlight> l = h.HotelToScheduledFlight.Select(i => i.ScheduledFlight).ToList();