一对多的Linq查询

一对多的Linq查询,linq,Linq,我的问题涉及MVC+Linq查询。我将尽量使其简单化,而不涉及模型、视图等的细节。。假设我有两张表T1和T2。T1保存餐厅详细信息,T2保存餐厅图像路径。T2行包含restaurantID。现在,如果T2对于一个餐厅有多行图像路径,并且我只需要linq查询中T2的第一个图像路径,我将如何形成这样的查询?我试图简化这个问题,因为事实上我有6个与查询中的餐厅相关的表联接。我建立了一个视图模型,其中只包含我想要显示的字段。我试图在控制器中填充视图模型&查询显然在控制器中 当我将T2加入到查询中时,我会

我的问题涉及MVC+Linq查询。我将尽量使其简单化,而不涉及模型、视图等的细节。。假设我有两张表T1和T2。T1保存餐厅详细信息,T2保存餐厅图像路径。T2行包含restaurantID。现在,如果T2对于一个餐厅有多行图像路径,并且我只需要linq查询中T2的第一个图像路径,我将如何形成这样的查询?我试图简化这个问题,因为事实上我有6个与查询中的餐厅相关的表联接。我建立了一个视图模型,其中只包含我想要显示的字段。我试图在控制器中填充视图模型&查询显然在控制器中

当我将T2加入到查询中时,我会将所有餐厅的详细信息与图像一起获取。但是视图重复同一个餐厅的次数是T2中桌子行数的倍,这不是我想要的。这是我设置查询的方式的问题。查询使用联接。我只需要从T2的第一排,而我从餐厅的细节得到所有。到目前为止,我还没有在网上找到这样一个例子。敬请指点


Serhat Albayoglu

在加入时,您可以使用
进入
,然后在选择中选择
第一个或默认值

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

你的问题不是很清楚