我正在考虑将网站从ASP.NET网页移动到MVC。我需要了解我是如何使用实体框架进行多重连接的。
我目前有3个数据库表,每个表都有一个模型。
下面的代码获取每个属性的房间表中的所有信息,但它只是从RoomTypeID
表中给我Rooms
。我需要的是使用该ID从RoomType
表中获取RoomType
。
@model manage.stayinflorida.co.uk.DataModels.Property_Info
@foreach (var item in Model.RoomInfoes)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.RoomTypeID)
</td>
<td>
@Html.DisplayFor(modelItem => item.RoomDescription)
</td>
</tr>
}
答案 0 :(得分:2)
通常使用Entity Framework,如果实体具有外键关系,则会在实体上获得导航属性。
这意味着您也可以从相关类型访问该属性。
如果您的RoomInfos
类具有RoomType
类型RoomType
的属性(在RoomTypeID上链接),则可以在模型中访问该属性。
下面显示了一个示例 - 该示例假设您在&#39; RoomType&#39;叫&#39;姓名&#39;。
@model manage.stayinflorida.co.uk.DataModels.Property_Info
@foreach (var item in Model.RoomInfoes)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.RoomType.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.RoomDescription)
</td>
</tr>
}
有关导航属性的其他信息,请参阅this link。