我正在使用亚音速项目和活动记录模式。
我有一个包含三个表格的数据库:城市、音乐厅、音乐会。每个音乐厅都与城市有外键关系。每场音乐会都与音乐厅有外键关系。
我想检索给定城市内的所有音乐会。所以我需要获取一个城市的所有音乐厅ID,并将它们传递给亚音速项目。在"普通"sql 中,我会使用"其中...in"-语句,但我如何使用亚音速项目来做到这一点?
我正在考虑类似的东西(伪代码):列表音乐会大厅 Id=xxxxxxxx;音乐会.查找(音乐会.ConcertHallId in concertHallIds);
谢谢托马斯
你应该能够执行以下操作:
var concertHallIds = new List<int>() { 1, 2, 3 };
var concerts = from c in db.concerts
where concertHallIds.Contains(c.ConcertHallId)
select c;
至少,这是Linq版本。基本上,你应该在音乐厅ID集合中使用.Contains()
,SS将这些值放入SQL中的in
子句中。