如何使用“where...in”在亚音速项目中

发布于 2024-11-05 09:15:04 字数 392 浏览 1 评论 0原文

我正在使用 subsonicproject 和 activerecord 模式。

我有一个包含三个表的数据库:城市、音乐厅、音乐会。每个音乐厅与城市都有外键关系。每个 Concert 都与 Concerthall 具有外键关系。

我想检索给定城市内的所有音乐会。所以我需要获取一个城市的所有 Concerthall-id 并将它们传递给 subsonicproject。在“正常”sql 中,我会使用“where ... in”语句,但是如何使用 subsonicproject 做到这一点?

我正在考虑类似的事情(伪代码): 列出 ConcertHallsId=xxxxxxx; Concerts.Find(concert.ConcertHallId in ConcertHallIds);

谢谢 托马斯

I am using subsonicproject and the activerecord pattern.

I have a database with three tables: Cities, Concerthalls, Concerts. Each Concerthall has a foreign-key relationship to a City. Each Concert has a foreign-key relationship to a Concerthall.

I would like to retrieve all concerts within a given city. So I need to get all the Concerthall-ids for a city and pass them to subsonicproject. In "normal" sql I would use the "where ... in"-statement, but how do I do it with subsonicproject?

I am thinking about something like (pseudocode):
List concertHallsId=xxxxxxx;
Concerts.Find(concert.ConcertHallId in concertHallIds);

thanks
Thomas

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

挽袖吟 2024-11-12 09:15:04

您应该能够执行以下操作:

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 子句中。

You should be able to do something like:

var concertHallIds = new List<int>() { 1, 2, 3 };
var concerts = from c in db.concerts
               where concertHallIds.Contains(c.ConcertHallId)
               select c;

At least, that is the Linq version. Basically though, you should be ale to use .Contains() on your collection of concert hall ids, and SS puts those values into an in clause in the SQL.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文