Linq查询一对多

时间:2014-02-19 17:41:54

标签: linq

我的问题涉及MVC + Linq查询。我会尽量简单,不用去看模型,视图等的细节。说我有2个表T1和amp; T2。 T1拥有餐厅细节和T2持有餐馆形象路径。 T2行包含restaurantID。现在,如果T2有一个餐厅的多行图像路径,我只需要linq查询中T2的第一个图像路径,我将如何形成这样的查询?我试图简化这个问题,因为实际上我有6个与查询中的餐馆相关的表连接。我形成了一个视图模型,它只包含我想要显示的字段。我试图在控制器和放大器中填充视图模型。查询显然在控制器中。

当我将T2加入查询时,我将所有的餐厅详细信息与图像一起获得。但是视图重复同一餐厅的次数与T2中的表行数一样多次,这不是我想要的。这是我设置查询的方式的问题。该查询使用连接。我只需要从T2的第一行,而我从餐厅的详细信息中得到所有。到目前为止,我没有在网上找到这种要求的例子。我们非常感谢您的指示。

Serhat Albayoglu

1 个答案:

答案 0 :(得分:0)

在您的加入中,您可以使用into,然后在选择中您可以选择FirstOrDefault

var query = from t in context.T1
            join t2 in context.T2 on t.Id equals t2.RestaurantID into tgroup
            select
            {
              t2.FirstOrDefault().path
            };
相关问题