查询从多对多查找表中的对象

时间:2009-05-11 14:10:14

标签: .net sql join subsonic many-to-many

我有Master1Sub1以及另一个名为Master1Sub1_Map,其中包含Master1Sub1个对象的外键。 Sub1中有多个ID与Master1中的单个ID相关联。

如果我想查看分配给特定Sub1的所有Master1.ID条记录,我该如何使用SubSonic对象进行此操作?我可以使用SqlQuery和IN使用嵌套选择来实现它,但是由于映射表使用外键,是否有更好的方法?返回Sub1Collection会很高兴。

我在TableSchema中看到了一些引用,但我不确定我会找到什么。

1 个答案:

答案 0 :(得分:2)

Sub1Collection subs = DB.Select().From<Sub1>()  
  .InnerJoin(Master1Sub1_Map)  
  .InnerJoin(Master1)  
  .Where(Master1.Columns.Id).IsEqualTo(1)  
  .ExecuteAsCollection<Sub1Collection>();