Silverlight linq-to-entities匿名类型问题

时间:2010-07-06 14:51:45

标签: c# silverlight linq-to-entities silverlight-4.0

我正在尝试使用silverlight,wcf数据服务(在网站代码上)和Linq-to-Entities。我知道匿名类型不能在silverlight上工作,然后我创建了一个已知类来检索一些信息。 (我知道查询它并不完全是智能的,但它只是一个例子)但它不起作用。有人可以帮助我吗?

这是代码。

public class DataSummary
{
    public DataSummary() { }

    public int AccountID { get; set; }

    public string Account { get; set; }

    int accountID;
    string account;
}

  var p = (from q in svc.Accounts
                 select new DataSummary()
                 { AccountID = (int) q.AccountID,
                   Account = q.Account1
                 }) as DataServiceQuery<DataSummary>;

        p.BeginExecute(new AsyncCallback(r =>
        {
            try
            {
                this.grid.ItemsSource = p.EndExecute(r).ToList();
            }
            catch (Exception ex)
            {
                string message = ex.Message;
            }
        }), null);

当我运行示例时,错误消息是

    ex.Message  "An error occurred while processing this request."  string

它太有趣了,因为它没有解释问题。

也在这个问题中

Silverlight 4 Data Binding with anonymous types

他们说我们可以使用匿名类型,但是我怎么能把“as DataServiceQuery .......... ??

1 个答案:

答案 0 :(得分:0)

当安东尼告诉我内心异常时。我在ProtocolVersion上发现了错误。

public static void InitializeService(DataServiceConfiguration config)
{
    config.SetEntitySetAccessRule("*", EntitySetRights.All);

    //On the service. You have to add this line
    config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
}

谢谢安东尼。我不知道存在内部异常。