帮助与EntityQuery工作Silverlight c#

本文关键字:Silverlight 工作 EntityQuery 帮助 | 更新日期: 2023-09-27 17:51:23

我有以下代码:

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;

返回错误:

对象引用未设置为an对象的实例。

有没有人可以帮助我,我在这里做错了什么,我不知道什么是空的,我如何才能返回正确的数据。

谢谢

帮助与EntityQuery工作Silverlight c#

您的问题很可能是DataContext无法强制转换为Web.Ticket。如果你看一下c#的文档——as在转换失败时返回null。参见- http://msdn.microsoft.com/en-us/library/cscsdfbt%28v=vs.71%29.aspx

如果您将代码行更改为

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