使用Entity Framework进行多个连接

时间:2015-12-15 10:54:48

标签: asp.net asp.net-mvc entity-framework entity-framework-6

我正在考虑将网站从ASP.NET网页移动到MVC。我需要了解我是如何使用实体框架进行多重连接的。

我目前有3个数据库表,每个表都有一个模型。

  • 属性
  • 房间
  • RoomType

下面的代码获取每个属性的房间表中的所有信息,但它只是从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>
    }

1 个答案:

答案 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