как получить все записи из одной таблицы и на основании этого каждая запись выбрать все записи, которые связаны с первыми записями таблицы в mvc 5 - PullRequest
0 голосов
/ 13 апреля 2019

Я хочу получить все записи из одной таблицы с именем Visitor, и у меня есть другая таблица с именем booking_visitor

моя таблица посетителей

Посетитель * * 1005

VisitorId VisitorName Эл. адрес Телефон Фото

Booking_visitor

BookingId F.k VisitorId F.k

Я хочу получить все записи из таблицы посетителя и на основании этого каждый идентификатор, присутствующий в таблице Booking_visitor, извлекает каждую запись со значением VisitorId

если VistorId равен 1 для первой записи, и этот идентификатор указывается три раза в таблице Booking_visitor, а для посетителя = 1 он должен показывать три записи ниже этой записи

Я пытался по своей логике, но, похоже, я не получаю должного результата, возможно, мой контроллер неверен или мой взгляд на бритву неверен

Вот что я пробовал

   var visitor= db.Fetch<Visitor>("Select VisitorId,VisitorName from Visitors");

        foreach (var vs in Visitors)
        {
            ViewBag.VisitorsAmount= db.Query<Bookingvw>("select b.BookingId,bd.BookingDetailId,v.VisitorId,v.VisitorName,bd.CheckIn,bd.CheckOut from Booking_visitor bv " +
           "inner join Booking b on b.BookingId= bv.BookingId" +
           "inner join Visitors v on v.VisitorId= bv.VisitorId" +
           $"inner join BookingDetails bd on bd.BookingId= b.BookingId where v.VisitorId= {vs.VisitorId} ");
            "group by b.BookingId, bd.BookingDetailId, v.VisitorId, v.VisitorName, bd.CheckIn, bd.CheckOut ");*/

        }
        return View(visitor);


 @model IEnumerable<Visitors>
  @foreach (var item in Model)
        {
            <tr>
                <td>@item.VisitorName</td>
            </tr>

        }
            <tr>
                @{
                    var vsamt = (IEnumerable<Bookingvw>)ViewBag.VisitorsAmount;
                }
                <th>
                    Booking Id
                </th>
                <th>
                    Check In
                </th>
            </tr>


            @foreach (var item2 in vsamt )
            {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item2.BookinId)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item2.CheckIn)
                </td>
            </tr>
            }

        }

Я хочу получить иерархический результат для первого посетителя, есть ли какой-либо результат, а затем показать, что результат ниже первого посетителя

...