Помогите с EntityQuery работает Silverlight C # - PullRequest
0 голосов
/ 20 апреля 2011

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

var data = (sender as Button).DataContext as Web.Booking;

EntityQuery<Web.Ticket> ticketQuery =
    from t in _ticketContext.GetTicketsQuery()
    where t.ticketId == data.ticketId
    select t;

LoadOperation<Web.Ticket> loadTicket = this._ticketContext.Load(ticketQuery);
loadTicket.Completed += (s, args) => { MessageBox.Show("Loaded Tickets!"); };

ticketDomainDataSource.DataContext = loadTicket.AllEntities;

var ticketData = ticketDomainDataSource.DataContext as Web.Ticket;
string ticketName = ticketData.ticketName;

Основной код, с которым у меня возникают проблемы:

var ticketData = ticketDomainDataSource.DataContext as Web.Ticket;
    string ticketName = ticketData.ticketName;

Возвращает ошибку:

Ссылка на объект не установлена ​​для экземпляра объекта.

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

Спасибо

1 Ответ

0 голосов
/ 30 апреля 2011

Возможно, ваша проблема в том, что DataContext не может быть преобразован в Web.Ticket.Если вы посмотрите документацию для C # - as вернет ноль при ошибке преобразования.См. - http://msdn.microsoft.com/en-us/library/cscsdfbt%28v=vs.71%29.aspx

Если вы измените свою строку кода на

var ticketData = (Web.Ticket) ticketDomainDataSource.DataContext;

, вы получите лучшую ошибку приведения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...