Помощь с EntityQuery Загрузка - PullRequest
1 голос
/ 16 мая 2011

У меня есть следующий код:

        EntityQuery<Web.Ticket> query =
               from t in ticketClass.getQuery()
               where t.showId == selectedShowId
               select t;

        LoadOperation<Web.Ticket> loadTic = ticketClass.loadTicketsQuery(query);
        loadTic.Completed += (s, a) =>
        {
            List<int> takenSeats = new List<int>();
            foreach (Web.Ticket ticket in ticketClass.getContext())
            {
                takenSeats.Add((int)ticket.seatId);
                MessageBox.Show(ticket.seatId.ToString());
            }
        };

GetQuery:

public EntityQuery<Web.Ticket> getQuery()
        {
            return _ticketContext.GetTicketsQuery();
        }

loadTicketsQuery:

public LoadOperation<Web.Ticket> loadTicketsQuery(EntityQuery<Web.Ticket> query)
        {
            return _ticketContext.Load(query);
        }

getContext:

public EntitySet getContext()
        {
            return _ticketContext.Tickets;
        }

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

Спасибо.

1 Ответ

0 голосов
/ 16 мая 2011

Попробуйте это

loadTic.Completed += (s, a) =>
    {
        List<int> takenSeats = new List<int>();
        foreach (Web.Ticket ticket in  ((LoadOperation<Web.Ticket>)s).Entities.ToList())
        {
            takenSeats.Add((int)ticket.seatId);
            MessageBox.Show(ticket.seatId.ToString());
        }
    };
...