WP7 - 本地数据库 - ManyToMany Linq2SQL

时间:2011-10-06 00:18:24

标签: c# linq-to-sql windows-phone-7

由于标题表明我正在寻找具有Association属性的解决方案,因此EntitySet的属性<> setter因为它与Many To Many的关系不同我不确定我是否正朝着正确的方向前进,因为没有关系的例子,因为L2S在这种关系中非常困难。

外键表是否必须对它加入的2个表有引用或设置...?

示例:

  • 酒店 - 表
  • ScheduledFlights - 表
  • HotelToScheduledFlights - Table - 由HotelId& ScheduledFlightId都是FK

在这种情况下我会使用多对多吗?或者我最好还是重构为一对多?

1 个答案:

答案 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();