我的问题涉及MVC + Linq查询。我会尽量简单,不用去看模型,视图等的细节。说我有2个表T1和amp; T2。 T1拥有餐厅细节和T2持有餐馆形象路径。 T2行包含restaurantID。现在,如果T2有一个餐厅的多行图像路径,我只需要linq查询中T2的第一个图像路径,我将如何形成这样的查询?我试图简化这个问题,因为实际上我有6个与查询中的餐馆相关的表连接。我形成了一个视图模型,它只包含我想要显示的字段。我试图在控制器和放大器中填充视图模型。查询显然在控制器中。
当我将T2加入查询时,我将所有的餐厅详细信息与图像一起获得。但是视图重复同一餐厅的次数与T2中的表行数一样多次,这不是我想要的。这是我设置查询的方式的问题。该查询使用连接。我只需要从T2的第一行,而我从餐厅的详细信息中得到所有。到目前为止,我没有在网上找到这种要求的例子。我们非常感谢您的指示。
Serhat Albayoglu
答案 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
};