使用LINQ查询连接表

时间:2011-06-22 20:40:51

标签: c# linq entity-framework code-first

好吧,这很可能是一个愚蠢的问题。我正在使用Entity Framework Code First。我有两个类,User和Event,它们具有多对多关系。当EF生成我的数据库表时,它会创建一个连接表,我称之为Users_Events。该表有两列,User_ID和Event_ID。到目前为止,一切都很好。

我想从我的数据库中提取一个事件并将其序列化为JSON。这也很有效,除了我不能拉一个事件的用户,因为这会创建一个循环引用。我想在这里做的是查询我的连接表并获取所有User_ID,其关联的Event_ID等于我正在序列化的事件的ID。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

我不知道你想在JSON中最终得到什么,但我怀疑你想要选择一个新的匿名类型并将其序列化。沿着这些方向的东西可能是:

from e in myContext.Events
where e.ID = 123
select new { 
    Event = e,
    UserIDs = (from u in e.Users select u.ID)
}