帮助EntityQuery工作Silverlight C#

时间:2011-04-20 18:49:57

标签: c# silverlight entity-framework

我有以下代码:

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 :(得分:0)

您的问题可能是无法将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;

你应该得到一个更好的演员错误。